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.

Variable in SQL-Anweisung reinpacken

Empfohlene Antworten

Veröffentlicht

hallo!

Ich möchte eine Variable aus VBA ind eine RunSQL Anweisung mit reintun... weiß jemand, wie ich das mache?

sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (Ger_Anzahl,Anl_Nr_Feld, Anlage,Standort_Feld,Firma_Feld, Prio_Nr_Feld)"

DoCmd.RunSQL sql_str

Ger_Anzahl ist die Variable, so wie oben lässt sie sich aber nicht direkt in die Tabelle eintragen, sondern man wird trotzdem noch gefragt nach Parameter....

Thx4Hlp

Kommt die Variable direkt aus VBA?

Vielleicht hilft dir das weiter:


sql_str = "Insert Into Geraet (" & Ger_Nr & ",Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (Ger_Anzahl,Anl_Nr_Feld, Anlage,Standort_Feld,Firma_Feld, Prio_Nr_Feld)" 


DoCmd.RunSQL sql_str 

Du musst den String quasi aufsplitten. Wenn man davon ausgeht, dass die anderen Felder auch Variablen sind, würde das ganze so aussehen:

sql_str = "Insert Into Geraet (" & Ger_Nr & "," & Anl_Nr & "," & Bezeichnung & "," & Ort "," & Firma "," & Prio_Nr & ") Values (" & Ger_Anzahl & "," & Anl_Nr_Feld & "," & Anlage & "," & Standort_Feld & "," & Firma_Feld & "," & Prio_Nr_Feld ")" 


DoCmd.RunSQL sql_str 

:)

ja, das erste geht.

sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (" & Ger_Anzahl & ",Anl_Nr_Feld, " & anlagename & ",Standort_Feld,Firma_Feld, Prio_Nr_Feld)"

DoCmd.RunSQL sql_str

so siehts erstmal richtig aus. ich will aber in den Punkt Bezeichnung der Tabelle Geraet den Wert "Anlage" reinschreiben, ohne ihn vorher irgendwo eintippen zu müssen.

dazu habe ich

dim anlagename As String gemacht,

dann anlagename = "Anlage" und wollte es so einfügen, aber er nimmt es schon wieder nur als Parametereingabe....

noch ne Idee? *grübel*

thx4hlp

Hi!

Da Deine Variable ein String ist, muss Du noch ein einfaches Hochkomma vor die Gänsefüsschen setzen. Also so:

------------------------------------------------------------------------

sql_str = "Insert Into Geraet (Ger_Nr,Anl_Nr, Bezeichnung,Ort,Firma, Prio_Nr) Values (" & Ger_Anzahl & ",Anl_Nr_Feld, '" & anlagename & "' ,Standort_Feld,Firma_Feld, Prio_Nr_Feld)"

DoCmd.RunSQL sql_str

-----------------------------------------------------------------------

Gruss

*grins* Mercutio,

Paralelleinträge rulen!

Trotzdem danke für die Hilfe!

Schon mal per DAO über Recordsets versucht?


Set rs = db.OpenRecordset("geraet", dbOpenTable)


rs.AddNew

  rs!Ger_Nr = "bla"

  rs!Anl_Nr = "bla"

rs.Update

Nur mal als Idee, weiß nicht, wie dein Programm ansonsten aufgebaut ist...

edit: ui, da haben andere ne bessere Lösung gefunden... diese Hochkommata haben mir auch schon mal den letzten Nerv geraubt ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.