Zum Inhalt springen

Variable in SQL-Anweisung reinpacken


Commander_COM

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 

:)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

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