Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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

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

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

Moin,

IMHO fehlt am Ende der Anweisungen, also vor dem BTW in Access überflüssigen ";" eine schließende Klammer.

Reinhold

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?

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


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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.