Veröffentlicht 24. August 201015 j Hallo. Ich habe ein Problem mit Access und VBA. Mein rstes Problem ist eigentlich das ich es benutzen muss obwohl ich keine AHnung von beidem habe. Ich habe 3 Tabellen: Link, Site und Standort Eigentlich sind es mehr aber mit den anderen hab ich kein Problem ;-) Jeder Link hat eine ID und eine SIte A und Site B die jeweils einen Standort haben Das will ich jetzt in einem Formular eintragen können und habe folgenden Code der nicht funktioniert.... bzw. er schreibt in die tabelle Link aber nicht in die Tabelle SIte.... DoCmd.SetWarnings (False) DoCmd.RunSQL "INSERT INTO Link ( LinkID,SystemID,KNr ) values ('" & LinkID.Text & "', '" & SystemID.Text & "','" & KNr.Text & "';" DoCmd.RunSQL "INSERT INTO Site ( Site,LinkID,StandortID ) values ('A', '" & LinkID.Text & "','" & SIteAKombi.Text & "';" DoCmd.RunSQL "INSERT INTO Site ( Site,LinkID,StandortID ) values ('B', '" & LinkID.Text & "','" & SiteBKombi.Text & "';" DoCmd.SetWarnings (True) kann mir da irgenwie einer helfen :-( bitte....
24. August 201015 j Funktioniert es denn, wenn du die Statements direkt in Access abjagst? Kommentier testweise mal .setWarnings aus (Hochkomma). Ich bin mir nicht 100%ig sicher, aber möglicherweise funktioniert es hier wie "On Error Resume Next".
24. August 201015 j Funktioniert es denn, wenn du die Statements direkt in Access abjagst? Hä? Kommentier testweise mal .setWarnings aus (Hochkomma). Ich bin mir nicht 100%ig sicher, aber möglicherweise funktioniert es hier wie "On Error Resume Next". Hab es ganz weg gelassen. jetzt passiert garnichts.... Also nicht mahr ne Fehlermeldung. Nix
24. August 201015 j Hä? Was passiert wenn du die SQL-Statements direkt in Access ausführst? Welcher Fehler kommt denn?
24. August 201015 j was mir auffällt ist, dass du zumindest in dem Code den du gepostet hast, "richtige" SQL Syntax verwendest. Wenn ich nicht ganz Irre, nimmt Access aber " " als String delimiter und nicht das übliche '. Das könntest du mal testen, ob ihm "A" eventuell lieber ist als 'A'. Viel Glück, und ich HASSE Access Sven
25. August 201015 j Moin, IMHO fehlt am Ende der Anweisungen, also vor dem BTW in Access überflüssigen ";" eine schließende Klammer. Reinhold
25. August 201015 j Danke euch schonmal für die hilfe. Habe den Code jetzt etwas verändert. LinkID.SetFocus L = LinkID.Text SIteAKombi.SetFocus SA = SIteAKombi.Text SiteBKombi.SetFocus SB = SiteBKombi.Text SystemID.SetFocus Sys = SystemID.Text KNr.SetFocus K = KNr.Text DoCmd.RunSQL " INSERT INTO Site " _ & "(Site,LinkID,StandortID) VALUES " _ & "('B', 'L', 'SB');" (Bei den anderen Anweisungen sieht es entsprechend aus) Jetzt schreibt er "B" in die Tabelle aber L und SB nicht... Er meint das er durch einen fehler bei der Typumwandlung ein Feld auf Null setzt. Ich gehe jetzt davon aus der ich meine Variablen irgendwie deklarieren muss aber als was? in Access sind SA, L etc. als Zahl und A und B als Text deklariert. Was sind den die entsprechungen in VB, oder ist das nicht rellevant?
25. August 201015 j Ich gehe jetzt davon aus der ich meine Variablen irgendwie deklarieren muss Ja, das solltest du und dir vorher auf jeden Fall die Basics zu VBA anlesen.
25. August 201015 j Ja, das solltest du und dir vorher auf jeden Fall die Basics zu VBA anlesen. Gut....hab ich vor Jahren mal gemacht und nie mehr gebraucht....naja bis auf jetzt.... Könntest du mir den vieleicht sagen was Zahl in Access in VB bedeutet??
25. August 201015 j DoCmd.RunSQL " INSERT INTO Site " _ & "(Site,LinkID,StandortID) VALUES " _ & "('B', 'L', 'SB');" Das schreibt jetzt aber keinesfalls den Variableninhalt in die Tabelle, sondern, weil als Zeichenfolge angegeben, die Variablennamen :confused::confused::confused: Ist das dein Ernst? Oder mindestens dein Hugo? Ich nehme doch stark an, du meinst: DoCmd.RunSQL " INSERT INTO Site " _ & "(Site,LinkID,StandortID) VALUES " _ & "('" & B & " ', ' " & L & " ', ' " & SB & " ');"
25. August 201015 j Das schreibt jetzt aber keinesfalls den Variableninhalt in die Tabelle, sondern, weil als Zeichenfolge angegeben, die Variablennamen :confused::confused::confused: Ist das dein Ernst? Oder mindestens dein Hugo? Ich nehme doch stark an, du meinst: DoCmd.RunSQL " INSERT INTO Site " _ & "(Site,LinkID,StandortID) VALUES " _ & "('" & B & " ', ' " & L & " ', ' " & SB & " ');" Nein, er schreibt keine Variabel sondern er fragt nach dem wert ;-) Aber ja....L und SB sind Variabel und ja es war mein Hugo....hatte erstmal blöd geguckt, aber schon dann den fehler gefunden ;-)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.