shad0w Geschrieben 1. Juni 2004 Geschrieben 1. Juni 2004 Hi, ich hab eine zwischentabelle angelegt, um zu veranstaltungen beliebig viel equipment zu speichern (Beamer, Pinnwand etc.pp.): Veranstaltung 1 -> n VeranstaltungEquipment n <- 1 Equipment Nun moechte ich die Equipmenteintraege in einem Listefeld zur Mehrfachauswahl anzeigen ... soweit kein Prob. Was muss ich aber nun machen, um in der VeranstaltungEquipment-Tabelle einen neuen Eintrag mit der VeranstaltungsID und der EquipmentID zu erstellen? danke schonmal
korea1 Geschrieben 2. Juni 2004 Geschrieben 2. Juni 2004 hi, meinst du jetzt sql statements? datensätze in tabellen einfügen: INSERT INTO tabelle (feld1,feld2) VALUES (wert1,wert2) oder was meinst du sonst? mfg korea1
shad0w Geschrieben 2. Juni 2004 Autor Geschrieben 2. Juni 2004 ne, sql ist kein prob ... weiss nur net wie das mit dem speichern genau geht ... kann ich da nen button 'speichern' anlegen, mit dem ich die sql-statements ausfuehren kann? bin noch net sonderlich geuebt mit acces ... merci
korea1 Geschrieben 2. Juni 2004 Geschrieben 2. Juni 2004 hi, ich bin jetzt auch net so der access guru, aber ich denke da musst du ein formular erstellen. sieht dann aus wie ein GUI und da kann der benutzer dann datensätze anlegen. die tabellenstruktur hast du ja schon erstellt. mfg korea1
shad0w Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 das ist schon alles klar. Das prob ist eben das formular an sich. Ich hab ne listbox mit den ergebnissen einer abfrage (equipment). Fuer jeden angeklickten eintrag (multi-choice) soll dann ein neuer Datensatz in der Zwischentabelle angelegt werden, um die Verknuepfung zwischen Veranstaltung und Equipment herzustellen ... d.h. die Eintraege 1,3,5 und 9 sind ausgewaehlt, also sollen beim speichern 4 neue Datensaetze angelegt werden, die das Equipment 1,3,5 und 9 mit der Veranstaltung verbinden. danke
Wolle Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 kann ich da nen button 'speichern' anlegen, mit dem ich die sql-statements ausfuehren kann? Ja, ist gar kein Problem. docmd.runsql "INSERT INTO tabelle (feld1,feld2) VALUES (wert1,wert2);" bzw. mit Variablen docmd.runsql "INSERT INTO tabelle (feld1,feld2) VALUES (" & wert1 & ",'" & wert2 & "');" Wert1 wäre in dem Fall eine Zahl und Wert2 ein String. Bei Strings brauchst du die einzelnen Hochkommas um Access zu sagen, das es sich bei der Variablen um einen String handelt.
shad0w Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 k, danke. und wie komm ich an die id's aus der listenauswahl? access ist irgendwie vieeeel zu kompliziert ...
Wolle Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 Zeilenanzahl=dcount("id","Tabelle","where-Bedingung") Damit bekommst du die Anzahl der Datensätze in dem Listenfeld. Die where-Bedingung ist die selbe wie bei der SQL-Anweisung mit der du die Datensätze in das Listenfeld schreibst for Zeile=0 to Zeilenanzahl-1 if Liste.Selected(Zeile)=true then docmd.runsql "INSERT INTO tabelle (feld1) VALUES (" & Liste.Value & ");" end if next Zeile Das geht das Listenfeld Zeile für Zeile durch und prüft ob die Zeile ausgewählt wurde, falls ja schreibt es den Wert der gebundenen Spalte (kann man in den Eigenschaften des Listenfeldes einstellen) in die Tabelle. Das ganze ist jetzt nur aus dem Kopf raus und ungetestet, sollte aber so in etwa gehen. Vielleicht geht es auch noch eleganter, hab aber auch schon länger nichts mehr mit Access gemacht.
shad0w Geschrieben 5. Juni 2004 Autor Geschrieben 5. Juni 2004 danke! werd's gleich heute mittag mal ausprobieren ...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden