Rollermann Geschrieben 3. Juni 2009 Geschrieben 3. Juni 2009 (bearbeitet) Servus mal wieder von mir aus hier an die Geräte zu Hause! Folgender Plan(sprache: Visual Basic) Ein Programm, bei dem der Getränkeverbrauch und die daraus resultierende Rechnung angezeigt und bearbeitet werden kann. Meine Datenbank: GGGDataBase.mdb mit dazugehörigem GGGDataSet Darin enthaltene Tabellen: Preisliste; Mitglieder Tabelle Preisliste: ID(AutoWert), Getränk(Text), Preis(Integer) Tabelle Mitglieder: ID(AutoWert), Name(Text), Telefon(Integer), Rechnungsbetrag(Integer) Das Form: Besteht aus mehreren Buttons und einem ListView Das Ziel: I Im ListView sollen die Namen der "Mitglieder" einzeln angezeigt werden, aus einem Tutorial von Microsoft weiß ich, das ich das mit ne "for each"-schleife mache... Dort wurde ein "explorer"-änliches Programm geschrieben. II Wenn ich jetz meinetwegen im ListView auf einen der irgendwann hoffentlich mal angezeigten Namen klicke, und dann auf "Bier" (Für die unter 16: "KaraMalz" ) Soll bei dem angeklickten der Preis, der in der Tabell Preise bei Bier steht bei "Rechnungngsbetrag" hinzugerechnet werden... Ich bekomm das nicht gelöst, da ich nicht mal weiß wie ich auf die Datenbank zugreife... und die Abfragen löse... Kann man mir noch Helfen? Bearbeitet 3. Juni 2009 von Rollermann zur besseren Verständlichkeit Zitieren
Rollermann Geschrieben 3. Juni 2009 Autor Geschrieben 3. Juni 2009 Soweit bin ich grad gekommen: Private Sub hauptmaske_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: Diese Codezeile lädt Daten in die Tabelle "GGGDataSet.Mitglieder". Sie können sie bei Bedarf verschieben oder entfernen. Me.MitgliederTableAdapter.Fill(Me.GGGDataSet.Mitglieder) 'Hier kommt jetzt die Abfrage der Daten rein End Sub Und ganz oben im Code-Fenster Imports KassensoftwareGGG.GGGDataSet ^Die Zeile bewirkt ja wohl, das ich überhaupt auf die Datenbank zugreifen kann! Für mich schon mal ein Teilerfolg So, Nun weiß ich aber nicht, wie ich die Daten von Name abruf... Habe mit verschiedenen Konstelationen experimentiert, komme aber zu keinem vernünftigen ergebniss... und das was die Hilfe dazu ausspuckt verstehe ich net wirklich... Zitieren
Rollermann Geschrieben 4. Juni 2009 Autor Geschrieben 4. Juni 2009 Wie bekomm ich hin, das meine Listbox in einem anderen Form aktualisiert wird, wenn ich neue daten eingeb? Die verbndung steht, grunddaten werden auch angezeigt aber sobald ich einen neuen Namen eingeb soll der auch in der Listbox erscheinen, das macht er aber nicht... Zitieren
Gateway_man Geschrieben 5. Juni 2009 Geschrieben 5. Juni 2009 (bearbeitet) was für eine Datenbank? Müsste eine Acess sein. Lass mal den import weg der wird nicht zwingend benötigt. Hier mal der Code für eine normale Abfrage welche alles ausgibt was in der Tabelle Preisliste steht. (Dient nur zu orientierung) Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" &"Data Source=Pfad der mdb Datei") ' Datenbankverbindung wird aufgebaut Dim cmd As New OleDb.OleDbCommand cmd.Connection = con cmd.Commandtext = "Select * From Preisliste" Dim data As New OleDb.OleDbDataAdapter(cmd) Dim ds As New DataSet data.Fill(ds) DataGridView1.DataSource = ds.Tables(0) Das mit der Listbox müsstest du lösen können indem du das form welches die listbox beinhaltet updatest. Beispiel: Form1.update Bearbeitet 5. Juni 2009 von Gateway_man Zitieren
Rollermann Geschrieben 5. Juni 2009 Autor Geschrieben 5. Juni 2009 Code: Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" &"Data Source=Pfad der mdb Datei") ' Datenbankverbindung wird aufgebaut Dim cmd As New OleDb.OleDbCommand cmd.Connection = con cmd.Commandtext = "Select * From Preisliste" Dim data As New OleDb.OleDbDataAdapter(cmd) Dim ds As New DataSet data.Fill(ds) DataGridView1.DataSource = ds.Tables(0) Da sagt er dann folgendes: cmd mudd deklariert werden, DataGridView muss deklariert werden! Ja es ist ne Access .mdb... Sowet waer ich auch schon mal, aber durch den fehler kam ich nicht weiter... Hab mir dann die Eigenschaften der ListBox nochmal angeschaut und die Eigenschaften: Datasource und display member so eingestellt das er es nun so macht, wie ich es will... nur eben das mit dem update funzt net... Folgendes versucht: Public Class NeuerKontakt Private Sub MitgliederBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MitgliederBindingNavigatorSaveItem.Click Me.Validate() Me.MitgliederBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.GGGDataSet) hauptmaske.Update() End Sub Private Sub NeuerKontakt_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: Diese Codezeile lädt Daten in die Tabelle "GGGDataSet.Mitglieder". Sie können sie bei Bedarf verschieben oder entfernen. Me.MitgliederTableAdapter.Fill(Me.GGGDataSet.Mitglieder) End Sub End Class und Hauptmaske.ListBox1.update und Hauptmaske.ListBox1.refresh Ich verstehe es so: sobald ich nach dem editieren der DB im Form NeuerKontakt Speichern klicke legt er das edit in die db und updatet Hauptmaske(das Form) bzw. ListBox1... aber es funzt net... kann es sein das ich was elementares vergessen habe? Den gesammten code hat das VisualBasicExpress generiert... Zitieren
Gateway_man Geschrieben 6. Juni 2009 Geschrieben 6. Juni 2009 (bearbeitet) hm meld dich ma über icq (291238152) oder fügs hier mal an dei post per rar an dann änder ichs ,dann kannst es dir in ruhe anschaun. Bearbeitet 6. Juni 2009 von Gateway_man Zitieren
Rollermann Geschrieben 6. Juni 2009 Autor Geschrieben 6. Juni 2009 Mach mer mal in der nächsten Woche... bin grad nicht zu hause... dank dir schon mal! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.