Rodrigosanchez Geschrieben 24. August 2010 Geschrieben 24. August 2010 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.... Zitieren
Kaeyu Geschrieben 24. August 2010 Geschrieben 24. August 2010 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". Zitieren
Rodrigosanchez Geschrieben 24. August 2010 Autor Geschrieben 24. August 2010 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 Zitieren
MartinSt Geschrieben 24. August 2010 Geschrieben 24. August 2010 Hä? Was passiert wenn du die SQL-Statements direkt in Access ausführst? Welcher Fehler kommt denn? Zitieren
streffin Geschrieben 24. August 2010 Geschrieben 24. August 2010 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 Zitieren
Reinhold Geschrieben 25. August 2010 Geschrieben 25. August 2010 Moin, IMHO fehlt am Ende der Anweisungen, also vor dem BTW in Access überflüssigen ";" eine schließende Klammer. Reinhold Zitieren
Rodrigosanchez Geschrieben 25. August 2010 Autor Geschrieben 25. August 2010 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? Zitieren
MartinSt Geschrieben 25. August 2010 Geschrieben 25. August 2010 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. Zitieren
Rodrigosanchez Geschrieben 25. August 2010 Autor Geschrieben 25. August 2010 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?? Zitieren
MartinSt Geschrieben 25. August 2010 Geschrieben 25. August 2010 Integer, Double, Single, currency, long. Zitieren
Reinhold Geschrieben 25. August 2010 Geschrieben 25. August 2010 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 & " ');" Zitieren
Rodrigosanchez Geschrieben 25. August 2010 Autor Geschrieben 25. August 2010 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 ;-) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.