Hey Leute,
Ich bin nach jahrelanger Abtrünnigkeit wieder zu AutoIt zurückgekehrt und habe viele meiner einstigen Kentnisse über AutoIt vergessen und brauche jetzt eure Hilfe um wieder ins Thema einsteigen zu können
Erstmal ne Info zum Projekt:
Dieses Projekt ist für meinen Arbeitgeber. Wir reparieren Geräte unserer Kunden und liefern für die Dauer der Reparatur Leihgeräte.
Im Laufe der Zeit haben sich allerdings so viele Kunden angehäuft das es langsam unübersichtlich wird und man nicht mehr wissen kann welches Leihgerät jetzt bei welchem Kunden steht und von wem alles Geräte bei uns zur Reparatur sind.
Mein Vorschlag an den Chef:
Geräte mit Barcodes versehen ( Leihgeräte und Kundengeräte) und jedes mal, wenn ein Gerät die Werkstatt verlässt oder betritt, den Code zu scannen.
Die Geräte sollen dann schön übersichtlich in einem kleinen Programm angezeigt werden sodass jeder gleich sehen kann wo welches Gerät ist.
Mein(e) Problem(e):
Ein GUI zu erstellen hab ich noch hinbekommen und solange ich auf die Lieferung des Barcodescanners warte wollte ich schonmal eine Datenbank anlegen in der alle Kunden und Leihgeräte verzeichnet sind.
Mein Hauptproblem ist das ich allerdings noch nie mit Datenbanken gearbeitet habe.
Hier mal ein Beispiel wie ich momentan versuche die Daten aus der Datenbank auszulesen und in einer Tabelle darzustellen:
[autoit]
#include <SQLite.au3>
#include <SQLite.dll.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
Local $hQuery, $aRow, $listview, $button, $item1, $item2, $item3, $msg
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]GUICreate("listview items", 220, 250, 100, 200, -1, $WS_EX_ACCEPTFILES)
$listview = GUICtrlCreateListView("col1|col2|col3", 10, 10, 200, 150)
GUICtrlCreateInput("", 20, 200, 150)
GUICtrlSetState(-1, $GUI_DROPACCEPTED)
GUISetState(@SW_SHOW)
_SQLite_Startup()
_SQLite_Open()
_SQLite_Exec(-1, "Create table tblTest (a,b,c);" & _
"Insert into tblTest values (1,2,3);" & _
"Insert into tblTest values (Null,5,6);")
Local $d = _SQLite_Exec(-1, "Select * From tblTest", "_cb") ; _cb will be called for each row
Func _cb($aRow)
[/autoit][autoit][/autoit][autoit]For $s In $aRow
;~ MsgBox(1,"",$aRow)
ConsoleWrite($s&"|")
GUICtrlCreateListViewItem($s&"|", $listview)
Next
ConsoleWrite(@CRLF)
; Return $SQLITE_ABORT ; Would Abort the process and trigger an @error in _SQLite_Exec()
EndFunc ;==>_cb
_SQLite_Close()
_SQLite_Shutdown()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
Ich bin schon froh, dass ich wenigstens alle Daten aus der DB auslesen konnte. Leider werden diese nicht so wie ich es gerne hätte angezeigt.
Ich weis auch wo der Fehler liegt aber ich hab einfach keine Idee wie ich die eingelesenen Daten einer Spalte auch einer Spalte in einer Tabelle zuweisen soll.
Was ich bräuchte wäre ein Beispiel wie ich die Daten in ein ListView format bekomme. Die Spalten-Namen aus der Datenbank ( a, b, c) brauche ich natürlich nicht in der Tabelle sondern nur die reinen Daten.
So wie ich AutoIt kenne gibt es dafür eine Funktion die ich bloß noch nicht kenne
BTW: Falls jemand der Ansicht ist das eine Datenbank viel zu kompliziert ist und das doch viel einfacher mit einer anderen Methode geht bin ich da vollkommen offen für Vorschläge.
Die Datenbank könnte im extremfall bis zu 1000 Kunden (mit Anschrift usw) enthalten.
Und in einer zweiten DB-Tabelle kommen dann die ganzen (Leih-)Geräte rein.
Ich werde in diesem Thread dann Folge-Probleme / Fragen zu dem Projekt posten und bedanke mich schonmal herzlichst fürs helfen
MfG,
Die Blubkuh