Hallo zusammen,
ich bin neu im Forum, lese aber die Seite schon länger. Deshalb hat sich wieder die Lust aufs Programieren entwickelt.
Bin aber leider Anfänger, trotz meiner fast 60 Jahren :=( früher hatte ich einiges mit VB6 programiert in Access Datenbanken.
Die Artikel zum Dataset von "ErfinderDesRades" haben mich motiviert, hiermit eine kleine Datenbank zu erstellen, ebenso wie die Hilfestellungen von VaporiZed oder VB1963 und vielen anderen.
Den Code zur DB hab ich meist hier aus dem Forum, zusätzlich als Nachschlagewerk noch VB2019 von Th. Thies!
Das mit dem Dataset wird hier sehr gut erklärt, es funktioniert auch wie beschrieben... jedoch nur wenn ich ein Dataset mit Namen benenne.
Ich komme nicht weiter beim Versuch, das Dataset unter einem neuen Namen (Dts1, Dts2, Dts3 etc.) abzuspeichern und es dann weiter zu benutzen.
Ebenfalls ärgerlich, beim laden des Dts.xml fragt Windows "mit welchem Prog die Datei geöffnet werden soll?" Na ja, wegklicken hilft ist aber nicht Zielführend.
Ich habe mal den Code vom Hauptmenu und des (ersten) Forms angehängt und noch einige Komentare hinzugefügt.
Alle bisherigen (erfolglosen) Versuche die TOMdts.xml umzubenennen, wurden wieder gelöscht.... ich wollte damit einen Lachflash verhindern....
wie gesagt.... typische Anfängerprobleme!
Ich wäre nun dankbar, wenn mir jemand zeigen kann, wie ich die genannten Probleme beseitigen kann.
Grüße Udo
und hier noch ein Form.
Wie gesagt, ich bin bisher mit meinen Versuchen gescheitert, die TOMdts.WriteXml(DateiPfad) unter einem neuen Namen z.B. TOM_Udo_dts.WriteXml(DateiPfad) zu speichern und weiter zu benutzen. Natürlich alles unter dem neuen Namen, d.h. alle Dts Einträge müssen dann den neuen Namen haben.... also nur über Variablen?
ich bin neu im Forum, lese aber die Seite schon länger. Deshalb hat sich wieder die Lust aufs Programieren entwickelt.
Bin aber leider Anfänger, trotz meiner fast 60 Jahren :=( früher hatte ich einiges mit VB6 programiert in Access Datenbanken.
Die Artikel zum Dataset von "ErfinderDesRades" haben mich motiviert, hiermit eine kleine Datenbank zu erstellen, ebenso wie die Hilfestellungen von VaporiZed oder VB1963 und vielen anderen.
Den Code zur DB hab ich meist hier aus dem Forum, zusätzlich als Nachschlagewerk noch VB2019 von Th. Thies!
Das mit dem Dataset wird hier sehr gut erklärt, es funktioniert auch wie beschrieben... jedoch nur wenn ich ein Dataset mit Namen benenne.
Ich komme nicht weiter beim Versuch, das Dataset unter einem neuen Namen (Dts1, Dts2, Dts3 etc.) abzuspeichern und es dann weiter zu benutzen.
Ebenfalls ärgerlich, beim laden des Dts.xml fragt Windows "mit welchem Prog die Datei geöffnet werden soll?" Na ja, wegklicken hilft ist aber nicht Zielführend.
Ich habe mal den Code vom Hauptmenu und des (ersten) Forms angehängt und noch einige Komentare hinzugefügt.
Alle bisherigen (erfolglosen) Versuche die TOMdts.xml umzubenennen, wurden wieder gelöscht.... ich wollte damit einen Lachflash verhindern....
wie gesagt.... typische Anfängerprobleme!
Ich wäre nun dankbar, wenn mir jemand zeigen kann, wie ich die genannten Probleme beseitigen kann.
Grüße Udo
VB.NET-Quellcode
- Imports System.IO
- Public Class Hauptmenu
- Private Sub Hauptmenu_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- ' Dim TomListe As New FileInfo(OpenFileDialog1.FileName)
- 'MsgBox(TomListe)
- End Sub
- 'Menu Einstellungen und Auswahl
- Private Sub MenuStrip1_ItemClicked(sender As Object, e As EventArgs) Handles SchließenToolStripMenuItem.Click, ÖffnenToolStripMenuItem.Click,
- SpeichernToolStripMenuItem.Click, DruckenToolStripMenuItem.Click, ExportierenToolStripMenuItem.Click, NeuerEintragToolStripMenuItem.Click,
- EintragÄndernToolStripMenuItem.Click, EintragLöschenToolStripMenuItem.Click, SeitenansichtToolStripMenuItem.Click, HilfeZumToMGeneratorToolStripMenuItem.Click,
- InformationenToolStripMenuItem.Click, TOM_Liste_Eintrag.Click, ÜberschriftenEintrag.Click, MandantenToolStripMenuItem.Click
- Select Case True
- Case sender Is ÖffnenToolStripMenuItem
- Dim _Datafile As New FileInfo(OpenFileDialog1.FileName)
- OpenFileDialog1.Filter = "XML-File | *.xml"
- OpenFileDialog1.Title = "Die TOM des Mandanten öffnen"
- If OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.OK Then Return
- System.Diagnostics.Process.Start(OpenFileDialog1.FileName) 'beim speichern eines neuen Namens kommt hier Fehler "kann Datei nicht finden?"
- MessageBox.Show("The File to open is: " & " " & OpenFileDialog1.FileName)
- DateiPfad = OpenFileDialog1.FileName'DateiPfad wurde über Modul als public deklariert um überall darauf zuzugreifen
- 'eigentlich will ich mit dieser Variablen die DtsXml in verschiedenen Formularen öffnen.
- Case sender Is SpeichernToolStripMenuItem
- SaveFileDialog1.Filter = "xml-file | *.xml"
- If SaveFileDialog1.ShowDialog <> Windows.Forms.DialogResult.OK Then Return
- Dim _Datafile As New FileInfo(SaveFileDialog1.FileName)
- If Not _Datafile.Exists Then
- 'oder hier? neue Xml's mit Namen aus SaveFileDialog1 erzeugen, d.h. TOMdts1, TOMdts2 etc
- End If
- System.Diagnostics.Process.Start(SaveFileDialog1.FileName)
- 'neue Xml's mit Namen aus SaveFileDialog1 erzeugen, d.h. TOMdts1, TOMdts2 etc
- Refresh()
- Case sender Is DruckenToolStripMenuItem
- MsgBox("drucken angeklickt")
- Case sender Is ExportierenToolStripMenuItem
- MsgBox("exportieren angeklickt")
- Case sender Is SchließenToolStripMenuItem
- 'MsgBox("schließen angeklickt")
- Close()
- Case sender Is TOM_Liste_Eintrag
- 'MsgBox("Liste angeklickt")
- frmTOM_Liste.ShowDialog()
- Case sender Is ÜberschriftenEintrag
- 'MsgBox("Liste angeklickt")
- frmÜberschriften.Show()
- Case sender Is MandantenToolStripMenuItem
- 'MsgBox("Liste angeklickt")
- frmMandant.ShowDialog()
- Case sender Is NeuerEintragToolStripMenuItem
- MsgBox("neuer Eintrag angeklickt")
- Case sender Is EintragÄndernToolStripMenuItem
- MsgBox("ändern angeklickt")
- Case sender Is EintragLöschenToolStripMenuItem
- MsgBox("löschen angeklickt")
- Case sender Is SeitenansichtToolStripMenuItem
- MsgBox("Seitenansicht angeklickt")
- Case sender Is HilfeZumToMGeneratorToolStripMenuItem
- MsgBox("Hilfe angeklickt")
- Case sender Is InformationenToolStripMenuItem
- MsgBox("Info angeklickt")
- End Select
- End Sub
- End Class
und hier noch ein Form.
Wie gesagt, ich bin bisher mit meinen Versuchen gescheitert, die TOMdts.WriteXml(DateiPfad) unter einem neuen Namen z.B. TOM_Udo_dts.WriteXml(DateiPfad) zu speichern und weiter zu benutzen. Natürlich alles unter dem neuen Namen, d.h. alle Dts Einträge müssen dann den neuen Namen haben.... also nur über Variablen?
VB.NET-Quellcode
- Imports System.IO
- Public Class frmTOM_Liste
- Private Sub TOM_Liste_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- 'MsgBox(DateiPfad)
- If DateiPfad = "" Then
- MsgBox("es muss zuerst eine Liste geladen werden")
- Close()
- Else
- Reload()
- End If
- End Sub
- Private Sub BearbeitenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BearbeitenToolStripMenuItem.Click,
- ListeSpeichernToolStripMenuItem.Click
- Select Case True
- Case sender Is ListeSpeichernToolStripMenuItem
- Save() 'aktuell geladene Xml Datei (die geöffnete aus Hauptmenu) speichern
- End Select
- End Sub
- 'Private _Datafile As New FileInfo("..\..\TOMDts.xml")
- 'Private _Datafile As New FileInfo("TOMDts.xml")
- 'Private _datafile As New FileInfo(DateiPfad)
- Private Sub Save()
- Validate()
- TOMdts.WriteXml(DateiPfad) 'funktioniert nur wenn das Dts z.B. TOMdts heist.
- 'Wie kann das Dts frei benannt werden, bzw. der Name aus OpenFileDialog1 (aus Hauptmenu) verwendet werden?
- TOMdts.AcceptChanges()
- End Sub
- Private Sub Reload()
- TOMdts.Clear()
- For Each tb As DataTable In TOMdts.Tables
- tb.BeginLoadData()
- Next
- TOMdts.ReadXml(DateiPfad) 'funktioniert nur wenn das Dts z.B. TOMdts heist. Wie kann das Dts frei benannt werden?
- 'TOMdts.ReadXml(_Datafile.FullName)
- For Each tb As DataTable In TOMdts.Tables
- tb.EndLoadData()
- Next
- TOMdts.EnforceConstraints = True
- TOMdts.AcceptChanges()
- End Sub
- End Class
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „Udo“ ()