visual basic - rowsource

Zoey

Mitglied
Hallo zusammen,

ich hoffe Ihr könnt mir weiterhelfen.

Ich habe ein kleines Problem mit meiner RowSource Funktion.

In einem Kombinationsfeld wähle ich einen Standort von einem Trainingszentrum aus. Unter diesem Kombinationsfeld befinden sich weitere Felder, in denen dann entsprechende Daten zu dem oben gewähltem Standort angezeigt werden sollen.

Hinter das Kombinationsfeld habe ich eine Ereignisprozedur hinterlegt, die folgend lautet:

Visual Basic:
Private Sub Standortauswahl_AfterUpdate()

Me.LKostenproTrainingwt.RowSource = "SELECT KostenproTrainingwt FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE" & Me.Standortauswahl & "'"

Me.LKostenproTeilnehmerwt.RowSource = "SELECT KostenproTeilnehmerwt FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE" & Me.Standortauswahl & "'"

Me.LKostenproTrainingwe.RowSource = "SELECT KostenproTrainingwe FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE" & Me.Standortauswahl & "'"

Me.LKostenproTeilnehmerwe.RowSource = "SELECT KostenproTeilnehmerwe FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE" & Me.Standortauswahl & "'"

End Sub

GeldwerteVorteile_gesamt ist eine Abfrage, in der alle nötigen Daten drin stehen die ich brauche, aber irgendwie ****t das nicht. Wenn ich einen Standort in dem Kombinationsfeld auswähle, dann wird in den Feldern nichts angezeigt. Ich habe die Funktion auch in einer anderen Datenbank drinstehen und dort funktioniert das, aber hier finde ich einfach den Fehler nicht. Ich hoffe Ihr könnt mri weiterhelfen. Danke :)
 
Zuletzt bearbeitet von einem Moderator:
Hast du die SQL-Anweisungen in dieser Datenbank schonmal als separate Abfrage getestet?

Was mich auch irgendwie stört ist "AfterUpdate". Bist du sicher das das die richtige Prozedur ist? Ich bin der Meinung das die erst ausgeführt wird nachdem die geänderten Daten gespeichert wurden (bin mir aber nicht sicher).

Was passiert wenn du den Code in die Change Prozedur "verschiebst"?
 
Wie meinst Du das mit der separaten Abfrage? Für jedes Feld eine ABfrage? Wenn ja, das hab ich auch schon probiert. Ich habe Abfragen für jedes einzelne Feld erstellt, wo genau die Datensätze drin sind, die gewählt werden sollen, aber da passiert genauso wenig. und es reicht ja im prinzip auch eine Abfrage, wo alle Daten drinstehen denk ich....

Ich habe es gerade mal mit Change probiert, da passiert aber genauso wenig wie mit AfterUpdate. Also in der andren Datenbank habe ich auch AfterUpdate drinstehen, und da klappt das. Eigentlich müsste das ja auch hier funktionieren, also ich verstehe das so, dass die Ereignisprozedur ausgeführt wird nachdem das Kombinationsfeld aktualisiert wurde...
 
Hab mal VB-Tags gesetzt.

Jetzt erkennt man schnell was nicht geht
Visual Basic:
"...WHERE PLZ LIKE" & Me.Standortauswahl & "'"
Da fehlt nach LIKE ein Leerzeichen und ein '

Mehr zur Fehlefindung
VBA Access Debug Queries
 
Ich meinte das du z.B. diese Anweisung:

SELECT KostenproTrainingwt FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE" & Me.Standortauswahl & " ' "

kopierst, eine neue Abfrage erstellst und dann die Anweisung einfügst. Dann gibst du noch für den Platzhalter "Me.Standortauswahl" einen gültigen Wert ein und führst die Abfrage aus.

Wenn alles stimmt, musst du ein Ergebnis bekommen, wenn an der Abfrag was falsch ist, findest du den Fehler so vielleicht schneller.

Was mir eben aufgefallen ist. Du hast am Ende jeder Anweisung noch ein & "'" stehen. Kann das der Fehler sein? Das Zeichen wird so ja einfach an den Parameter angehängt.
 
oh, tut mir leid das hatte ich vergessen, das hier richtig zu formatieren.

hmm, hab das jetzt geändert und Leerzeichen und Hochkomma eingesetzt, leider mit dem gleichen Ergebnis wie vorher....

Code:
Private Sub Standortauswahl_AfterUpdate()

Me.LKostenproTrainingwt.RowSource = "SELECT KostenproTrainingwt FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE ' " & Me.Standortauswahl & "'"

Me.LKostenproTeilnehmerwt.RowSource = "SELECT KostenproTeilnehmerwt FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE ' " & Me.Standortauswahl & "'"

Me.LKostenproTrainingwe.RowSource = "SELECT KostenproTrainingwe FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE ' " & Me.Standortauswahl & "'"

Me.LKostenproTeilnehmerwe.RowSource = "SELECT KostenproTeilnehmerwe FROM GeldwerteVorteile_gesamt WHERE PLZ LIKE ' " & Me.Standortauswahl & "'"

End Sub

Kann es vlt auch daran liegen, dass ich die Felder, wo die Daten reinsollen, falsch programmiert hab? Da habe ich gesagt, bei Datensatzherkunft, dass die Daten aus der Abfrage GeldwerteVorteile_gesamt genommen werden sollen. Soll da vielleicht garnichts hin?
 
Jetzt ist ein Leerzeichen zuviel

Ich habe weiter oben einen Link gepostet wie man solche Fehler selber finden kann. Versuch mal.
 
Guten Morgen,

so, habe Freitag noch fast den ganzen Tag an dem Formular rumgebastelt. Ich glaub ich hab es auch fast, jetzt habe ich nur noch eine Fehlermeldung, die mir ausgegeben wird.

Formel lautet wie folgt:

Code:
Private Sub Standortauswahl_AfterUpdate()

Me.LKostenproTrainingwt.RowSource = "SELECT KostenproTrainingwt FROM GeldwerteVorteile_gesamt WHERE Ort LIKE '" & Me.Standortauswahl
Me.LKostenproTeilnehmerwt.RowSource = "SELECT KostenproTeilnehmerwt FROM GeldwerteVorteile_gesamt WHERE Ort LIKE '" & Me.Standortauswahl
Me.LKostenproTrainingwe.RowSource = "SELECT KostenproTrainingwe FROM GeldwerteVorteile_gesamt WHERE Ort LIKE '" & Me.Standortauswahl
Me.LKostenproTeilnehmerwe.RowSource = "SELECT KostenproTeilnehmerwe FROM GeldwerteVorteile_gesamt WHERE Ort LIKE '" & Me.Standortauswahl

End Sub

Die Fehlermeldung sagt jetzt: Fehler beim Kompilieren. Methode bzw. Datenobjekt nicht gefunden und verweist dann auf den letzten Teil der Funktion "Standortauswahl"
Weiß jemand wo dran das liegen kann?
 
Die folgende Anleitung zur Fehlerfindung geht mit kleineren Anpassungen auch für VB6
VBA Access Debug Queries

Aber der Fall ist Sonnenklar.
Du kriegst einen solchen String. Und wie du schreibst. ziemlich am Ende davon knallt es...
SQL:
SELECT 
	KostenproTrainingwt 
FROM
	GeldwerteVorteile_gesamt
WHERE
	Ort LIKE 'winterthur

Nachtrag:
Ich sehe grad, den Link hab ich dir ja schon mal gegeben und bereits schon mal drauf aufmerksam gemacht.
Also, ab jetzt etwas mehr Eigeninitiative!
 
Zuletzt bearbeitet von einem Moderator:
Hallo Yaslaw,

ja den Link hast Du mir schon geschickt und ich habe mich auch damit auseinander gesetzt, ich habe die verschiedenen Lösungsmöglichkeiten probiert, aber ich habe es leider nicht hinbekommen. Es ist nicht so, dass ich Euch die Arbeit machen ließe. Ich bin so, dass ich es unbedingt alleine hinkriegen will und solang rumprobiere und suche bis ich es schaffe, nur leider stoße ich durch meine geringen Kenntnisse ziemlich schnell an meine Grenzen, und bevor es zu spät ist, hole ich mir rechtzeitig Hilfe von Leuten, zb wie Euch, die Ahnung von dem Ganzen haben und ich bin da auch sehr dankbar für, dass Ihr euch damit auseinandersetzt.
 

Neue Beiträge

Zurück