Hallo liebe Community,
ich stehe vor folgendem Problem bzw Denkfehler:
Und zwar habe ich eine aktive Abfrage aus einer Mysql Datenbank laufen. Funktioniert auch alles soweit.
Zweck dieser Abfrage ist es, den Wert "InterneNr" aus der Tabelle abzufragen. Von jedem Datensatz.
Dieser Wert wird mit einer Listbox verglichen, ob dieser bereits vorhanden ist. Funktioniert auch.
Das Programm soll nun, sollte dieser Wert in der Listbox nicht vorhanden sein, eine Aktion ausführen.
Funktioniert aber nur bedingt - und zwar klappt diese Prozedur, aber nur mit dem aktuellsten Datensatz. Sprich, wenn ich Datensatz1 und Datensatz2 in der Tabelle in der Datenbank habe,
checkt er nur Datensatz2 und lässt Datensatz1 links liegen.
Die Abfrage läuft wie folgt:
Der abgefragte Wert verfügt über einen weiteren Wert, den 'Inhalt'.
Dieser wird im weiteren Verlauf ebenfalls verglichen.
Weiter folgt der Code aber erst einmal mit dem oben beschriebenen Vergleich der Listbox Items.
Mein Problem ist allerdings wie oben schon leicht angerissen, dass die Abfrage immer den letzten bzw neuesten Wert aus der Tabelle abfragt. Ist ja auch richtig so, da die Loop Abfrage nach einem Wert stoppt.
Sobald ich den Rest von der Lokalen Abfrage allerdings in den Loop Bereich packe, startet er die Abfrage mitten in der Abfrage erneut und immer wieder.
Was ich brauche ist einfach folgendes: Abfrage der Spalten Wert1 und Inhalt aus der Datenbank. Vergleich, ob Wert1 bereits in Listbox vorhanden, wenn nicht und die Listbox mit Wert1 als Item ergänzen. Und bei vorhandensein des Items Abfrage weiter durchführen mit jedem der Datensätze in der Tabelle.
Ich mach mir das vermutlich selber komplizierter als es eigentlich ist, aber darum hätte ich ganz gerne einmal eine Anregung von euch, um meine grauen Zellen auf den richtigen Weg zu bringen...
Vielen lieben Dank schon einmal...
ich stehe vor folgendem Problem bzw Denkfehler:
Und zwar habe ich eine aktive Abfrage aus einer Mysql Datenbank laufen. Funktioniert auch alles soweit.
Zweck dieser Abfrage ist es, den Wert "InterneNr" aus der Tabelle abzufragen. Von jedem Datensatz.
Dieser Wert wird mit einer Listbox verglichen, ob dieser bereits vorhanden ist. Funktioniert auch.
Das Programm soll nun, sollte dieser Wert in der Listbox nicht vorhanden sein, eine Aktion ausführen.
Funktioniert aber nur bedingt - und zwar klappt diese Prozedur, aber nur mit dem aktuellsten Datensatz. Sprich, wenn ich Datensatz1 und Datensatz2 in der Tabelle in der Datenbank habe,
checkt er nur Datensatz2 und lässt Datensatz1 links liegen.
Die Abfrage läuft wie folgt:
Der abgefragte Wert verfügt über einen weiteren Wert, den 'Inhalt'.
Dieser wird im weiteren Verlauf ebenfalls verglichen.
Weiter folgt der Code aber erst einmal mit dem oben beschriebenen Vergleich der Listbox Items.
VB.NET-Quellcode
- If Inhalt.Contains(LokalerStringMitfestgelegtemInhalt) Then
- 'Wenn Inhalt des Datensatzes mit LokalemDatensatz übereinstimmt
- If ListBox1.Items.Contains(wert1) Then
- 'Wiederholung der Abfrage (per Timer)
- Timer1.Start
- Else
- AktionAusführen()
- ListBox1.Items.Add(wert1)
- End If
- Else
- 'Inhalt des Datensatzes stimmt nicht mit LokalemDatensatz überein
- Timer1.start 'Abfrage startet erneut
- End if
Mein Problem ist allerdings wie oben schon leicht angerissen, dass die Abfrage immer den letzten bzw neuesten Wert aus der Tabelle abfragt. Ist ja auch richtig so, da die Loop Abfrage nach einem Wert stoppt.
Sobald ich den Rest von der Lokalen Abfrage allerdings in den Loop Bereich packe, startet er die Abfrage mitten in der Abfrage erneut und immer wieder.
Was ich brauche ist einfach folgendes: Abfrage der Spalten Wert1 und Inhalt aus der Datenbank. Vergleich, ob Wert1 bereits in Listbox vorhanden, wenn nicht und die Listbox mit Wert1 als Item ergänzen. Und bei vorhandensein des Items Abfrage weiter durchführen mit jedem der Datensätze in der Tabelle.
Ich mach mir das vermutlich selber komplizierter als es eigentlich ist, aber darum hätte ich ganz gerne einmal eine Anregung von euch, um meine grauen Zellen auf den richtigen Weg zu bringen...
Vielen lieben Dank schon einmal...