Fehlersuche

Moderator: ModerationP

Fehlersuche

Beitragvon <Raider> » 14. Okt 2019, 13:17

Hallo zusammen,

ich finde hier den Fehler nicht. Könnt ihr mir helfen? Ich bekomme hier einen Laufzeitfehler in dem 2 Parameter erwartet werden. Diese habe ich doch angegeben???

Code: Alles auswählen
Sub WEPaletten()
Dim dbsKonto As DAO.Database
Dim SuchWert As String
Dim Wert As String
Dim Zaehler As Double
 
Set dbsKonto = CurrentDb
Wert = "FP"
   
For Zaehler = 10 To 20
    SuchWert = "E" & Zaehler
dbsKonto.Execute ("UPDATE Daten SET Lademittel = " & Wert & " WHERE Lademittel = " & SuchWert)
Next

End Sub


Danke im Voraus.
MfG Daniel

Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
(Johann Wolfgang von Goethe)
Benutzeravatar
<Raider>
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1000
Registriert: 26. Jul 2006, 10:05
Wohnort: Niedersachsen

Re: Fehlersuche

Beitragvon Yaslaw » 14. Okt 2019, 13:20

Klassiker. Und zwar genau der Fehler, den ich ich meinem SQL-Fehlersuchtutorail verwende: [VBA][Access] Debug Queries

Du musst deine Strings noch in ' fassen
Code: Alles auswählen
dbsKonto.Execute ("UPDATE Daten SET Lademittel = '" & Wert & "' WHERE Lademittel = '" & SuchWert & "'")
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2923
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Fehlersuche

Beitragvon <Raider> » 14. Okt 2019, 13:24

Yaslaw hat geschrieben:Klassiker. Und zwar genau der Fehler, den ich ich meinem SQL-Fehlersuchtutorail verwende: [VBA][Access] Debug Queries

Du musst deine Strings noch in ' fassen
Code: Alles auswählen
dbsKonto.Execute ("UPDATE Daten SET Lademittel = '" & Wert & "' WHERE Lademittel = '" & SuchWert & "'")


So banal, aber manchmal sieht man den Wald vor lauter Bäumen nicht. Danke!
MfG Daniel

Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
(Johann Wolfgang von Goethe)
Benutzeravatar
<Raider>
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1000
Registriert: 26. Jul 2006, 10:05
Wohnort: Niedersachsen

Re: Fehlersuche

Beitragvon Yaslaw » 14. Okt 2019, 13:41

Darum gehst du am besten mal mein Tutorial durch. Es hilft bei der Fehlersuche.
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2923
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Fehlersuche

Beitragvon <Raider> » 14. Okt 2019, 14:17

Ich habe da doch noch eine Frage zu:

Wie kann ich einbauen, dass ein ursprünglicher Wert multipliziert wird? So funktioniert das Ganze nicht :doubt:

Code: Alles auswählen
Dim dbsKonto As DAO.Database
Dim SuchWert As String
Dim Euro As String
Dim Fass As String
Dim Zaehler As Double
Dim Multi As Double

Set dbsKonto = CurrentDb
Euro = "FP"
Fass = "IP"

For Zaehler = 1 To 4
    SuchWert = "EE" & Zaehler
    Multi = 1 + Zaehler
    dbsKonto.Execute ("UPDATE Daten SET Lademittel = '" & Euro & "' AND Anzahl = '" & Anzahl * Multi & "' WHERE Lademittel = '" & SuchWert & "'")
Next
MfG Daniel

Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
(Johann Wolfgang von Goethe)
Benutzeravatar
<Raider>
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1000
Registriert: 26. Jul 2006, 10:05
Wohnort: Niedersachsen

Re: Fehlersuche

Beitragvon Yaslaw » 14. Okt 2019, 14:35

1) Bei Anzahl die ' entfernen. Es handelt sich ja um eine Zahl und nicht um ein Text
2) Anzahl ist das Feld. Also Bestandteil des SQL-Stringes. Du musst dir immer im klaren sein, ob es sich um eine VBA-Variable handelt oder um ein Feld, dass du im SQL ansteuerst
3) Die verschieden Zuordnungen im SET werden mit Komma getrennt, nicht mit AND

Code: Alles auswählen
dbsKonto.Execute ("UPDATE Daten SET Lademittel = '" & Euro & "', Anzahl = Anzahl * "& Multi & " WHERE Lademittel = '" & SuchWert & "'")
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements sind formatierbar)
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
Benutzeravatar
Yaslaw
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 2923
Registriert: 02. Jul 2014, 15:25
Wohnort: Winterthur

Re: Fehlersuche

Beitragvon <Raider> » 14. Okt 2019, 14:53

Yaslaw hat geschrieben:1) Bei Anzahl die ' entfernen. Es handelt sich ja um eine Zahl und nicht um ein Text
2) Anzahl ist das Feld. Also Bestandteil des SQL-Stringes. Du musst dir immer im klaren sein, ob es sich um eine VBA-Variable handelt oder um ein Feld, dass du im SQL ansteuerst
3) Die verschieden Zuordnungen im SET werden mit Komma getrennt, nicht mit AND

Code: Alles auswählen
dbsKonto.Execute ("UPDATE Daten SET Lademittel = '" & Euro & "', Anzahl = Anzahl * "& Multi & " WHERE Lademittel = '" & SuchWert & "'")


Klappt einwandfrei. Danke Dir vielmals.
MfG Daniel

Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.
(Johann Wolfgang von Goethe)
Benutzeravatar
<Raider>
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1000
Registriert: 26. Jul 2006, 10:05
Wohnort: Niedersachsen

Re: Fehlersuche

Beitragvon Beaker s.a. » 19. Okt 2019, 17:43

Hallo,
Und um das von Yaslaw Beschriebene zu automatisieren, kann ich nur jedem
dieses AddIn empfehlen:
http://access-codelib.net/download/addins/SqlDebugPrint.zip
gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 740
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste