Ich habe eine kleine GUI zum Filtern von PLZ nach PLZ oder Ort oder Bundesland oder Landkreis erstellt.
Bei PLZ und ORT ist die Sortierung: PLZ/Ort-Ort/PLZ-Bundesland-Landkreis.
Über die Radio-Ctrl wird die Filterung und bei Bundesland und Landkreis zusätzlich die Sortierung gewählt. Anhand dieser Auswahl wird in Verbindung mit der Usereingabe eine SQL-Abfrage durchgeführt und das Ergebnis in das Listview geladen.
Bei der PLZ-Filterung passt auch alles. Wähle ich aber eine andere Variante, ist zwar die Spalten-Namen-Reihenfolge des Ergebnisarrays identisch mit der Abfrage, aber der Zeileninhalt ist falsch zugeordnet und auch die Sortierung findet nicht statt.
Ich habe mich jetzt 1 Tag damit rumgequält ohne einen Fehler zu finden. Habt ihr eine Ahnung?
Btw.: Führe ich die SQL-Statements im SQLiteDatabaseBrowser aus, erhalte ich die Ergebnisse, wie gewünscht.
Die Datenbank SQLite3.dll und das Skript im Anhang.
Global $hListview = GuiCtrlCreateListView('PLZ|Ort|Bundesland|Landkreis', 10, 100, 460, 190, -1, BitOR($LVS_EX_DOUBLEBUFFER,$LVS_EX_GRIDLINES))
ElseIf $rMain = $rKREIS And BitAND(GUICtrlRead($rOrderOrt),$GUI_CHECKED) Then ; 'kreis-ort-plz-bula'
GUICtrlCreateListViewItem(StringFormat('%s|%s|%s|%s', $aItem[$i][0], $aItem[$i][1], $aItem[$i][2], $aItem[$i][3]), $hListview)
$sQuery = "SELECT plz,ort,bula,kreis FROM plz WHERE plz LIKE '" & $sSearch & "%' ORDER BY plz,ort,bula,kreis;"
$sQuery = "SELECT ort,plz,bula,kreis FROM plz WHERE ort LIKE '" & $sSearch & "%' ORDER BY ort,plz,bula,kreis;"
$sQuery = "SELECT bula,plz,ort,kreis FROM plz WHERE bula LIKE '" & $sSearch & "%' ORDER BY bula,plz,ort,kreis;"
$sQuery = "SELECT bula,ort,plz,kreis FROM plz WHERE bula LIKE '" & $sSearch & "%' ORDER BY bula,ort,plz,kreis;"
$sQuery = "SELECT kreis,plz,ort,bula FROM plz WHERE kreis LIKE '" & $sSearch & "%' ORDER BY kreis,plz,ort,bula;"
$sQuery = "SELECT kreis,ort,plz,bula FROM plz WHERE kreis LIKE '" & $sSearch & "%' ORDER BY kreis,ort,plz,bula;"
;~ GUICtrlCreateListViewItem(StringFormat('%s|%s|%s|%s', $aColumns[0], $aColumns[1], $aColumns[2], $aColumns[3]), $hListview)