Zum Inhalt springen

Einträge über Textfelder


Rodrigosanchez

Empfohlene Beiträge

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....

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen


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 & " ');"

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...