Endlosformular

  • VB.NET

Es gibt 39 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Endlosformular

    Tach auch,

    ich versuche gerade ein Endlosformular (keine Tabelle) zu erstellen.
    Mein Quellcode sieht bisher so aus:

    VB.NET-Quellcode

    1. Option Strict On
    2. Public Class FrmEndlos
    3. Private Sub frmEndlos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. ' Hab keine Ahnung .... :(
    5. End Sub
    6. End Class


    Genau, irgendwer eine Idee nach welchen Begriffen ich hier schauen muss um es hin zu bekommen
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL
    Erklär das mal etwas genauer, sowas meinste nicht zufällig?

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. AutoScroll = True
    3. For i As Integer = 0 To 1000
    4. Dim l As New Label
    5. l.Text = i.ToString
    6. l.Location = New Point(10, i * 25)
    7. Controls.Add(l)
    8. Next
    9. End Sub

    Takafusa schrieb:

    Erklär das mal etwas genauer, sowas meinste nicht zufällig?


    Nee, hat ein Grund. Ich will eins machen. Könnte dann zb. so aussehen mit einer feststehenden Kopfzeile.


    Dein Code schau ich mir gleich mal an.
    P.S Beitrag geändert, hatte das falsche Bild geladen
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lupusverlach“ ()

    Also in etwa wie ich meinte. Jedes ScrollableControl kann dass. Aber ich denke wenn du ein FlowLayoutPanel nimmst, fährste ganz gut. Das FlowLayoutPanel hat eine Art von "Zeilenumbruch", wenn das Control nicht mehr in FlowDirection passt. Wirf mal ein FlowLayoutpanel auf ein Form und Teste das: Beim FlowOutPanel die FlowDirection einfach LeftToRight lassen.

    VB.NET-Quellcode

    1. FlowLayoutPanel1.AutoScroll = True
    2. For i As Integer = 0 To 1000
    3. Dim l As New Label
    4. l.Text = i.ToString
    5. l.AutoSize = False
    6. l.Width = FlowLayoutPanel1.Width - 30 '-30 wegen Scrollbar an der Seite, es passt so kein weiteres Control hintendran, somit wird gewrapped und es entsteht deine gewollte Art von Listung.
    7. FlowLayoutPanel1.Controls.Add(l)
    8. Next


    Nachtrag @Lupusverlach
    Wenn du anstatt eines Label nun UserControls oder CustomControls hinzufügst, kommt es dem gleich was du da zeigst. Wenn du mit WPF klar kommst, mach das damit, bei sehr vielen Controls wirds irgendwann unschön, was die Performence angeht, vorallem beim scrollen mit der Scrollbar. Da kannste auch selbst so ein CustomControl machen und alles selbst zeichnen, könnte in WinForms sogar besser sein.

    Mit der Feststehenden Kopfzeile einfach ein Panel nehmen, wo Kopfzeile und FlowLayoutPanel drauf sind, wenn du es mit einem FlowLayoutPanel machst.

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Takafusa“ ()

    Takafusa schrieb:

    Wenn du mit WPF klar kommst, mach das damit

    Ich befürchte, das ist nix zu Essen? Noch nie was damit gemacht.

    Mit dem FlowLayoutpanel bin ich gar nicht zu recht gekommen. Ein einfaches Panel immerhin ein bissel, aber nicht so wie ich es mir wünsche.
    Habe noch mal, für meine Testzwecke in Access ein super einfaches Beispiel gemacht. Und auch in VB.NET es versucht.
    Aber es erscheinen immer nur ein Datensatz passenden zur Adresse und diese dann x mal.
    Sieht ungefähr so aus
    :
    Ziel ist es ja auch, die Daten bearbeiten zu können, aber denke das muss man nicht erwähnen.
    Der Code dazu:

    VB.NET-Quellcode

    1. Panel1.AutoScroll = True
    2. For i As Integer = 0 To 30
    3. Dim lblIDMitarbeiter As New Label
    4. Dim tbxDatum As New MaskedTextBox
    5. Dim tbxBemerkung As New TextBox
    6. lblIDMitarbeiter.DataBindings.Add("Text", BSPost, "IDMA")
    7. tbxDatum.DataBindings.Add("Text", BSPost, "Eingang")
    8. tbxBemerkung.DataBindings.Add("Text", BSPost, "Bemerkung")
    9. lblIDMitarbeiter.Location = New Point(15, i * 85)
    10. tbxDatum.Location = New Point(60, i * 85)
    11. tbxBemerkung.Location = New Point(210, i * 85)
    12. ' lblIDMitarbeiter.TextAlign
    13. tbxDatum.TextAlign = HorizontalAlignment.Center
    14. tbxDatum.Mask = "00/00/00"
    15. lblIDMitarbeiter.Width = 45
    16. tbxDatum.Width = 70
    17. tbxBemerkung.Width = 400
    18. tbxBemerkung.Height = 80
    19. tbxBemerkung.Multiline = True
    20. Panel1.Controls.Add(lblIDMitarbeiter)
    21. Panel1.Controls.Add(tbxDatum)
    22. Panel1.Controls.Add(tbxBemerkung)
    23. Next


    In Access sieht es in etwa so aus (wie gesagt, nur für diese Testzwecke, damit ich es verstehe)
    :

    Die Datei ist ein Versuchsprojekt für das Endlosformular incl. einer Access Datei wo das Beispielformular enthalten ist, für neugierige

    ErfinderDesRades schrieb:

    was in access als Endlosfomular bekannt ist, dem entspricht in .Net am ehesten das ReportViewer-Control: ReportViewer-Tutorial für Anfänger


    Ohne jetzt nachgelesen zu haben, hört nach Berichte, bzw, Reports an. Damit geht auch Bearbeiten der Datensätze?
    Dateien
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lupusverlach“ ()

    Lupusverlach schrieb:

    Mit dem FlowLayoutpanel bin ich gar nicht zu recht gekommen.


    Kein Problem, ich hab eben ein Beispiel angefertigt und die Mappe angehängt. Im Grunde ganz einfach, hab ein BenutzerSteuerElement(UserControl) angelegt(genannt DataDisplay), darauf ein Label um die ID anzuzeigen, einen DateTimePicker, sowie eine TextBox. Anders als im Code oben nutze ich eine Liste für die UserControls, damit man die weiterhin einfah ansprechen kann. Man muss auf diese Weise halt, die Controls im FlowLayoutPanel und die Liste syncron halten, "von Hand". Sieht so aus wie du wünscht, nicht ganz so einfach das zu managen aber es ist machbar.
    Bilder
    • Unbenannt.jpg

      85,44 kB, 951×581, 101 mal angesehen
    Dateien
    • Lupus.zip

      (14,99 kB, 61 mal heruntergeladen, zuletzt: )

    Takafusa schrieb:

    Kein Problem, ich hab eben ein Beispiel angefertigt und die Mappe angehängt

    Supi, langsam verstehe ich es.
    Was ich jedoch noch nicht verstehe, warum wird immer ein und der selbe Datensatz angezeigt, zwar passend zur Adresse, aber eben nicht alle Detaildaten dazu :(
    Der Code dazu:

    VB.NET-Quellcode

    1. Private DataDisplays As New List(Of DataDisplay)
    2. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    3. 'TODO: Diese Codezeile lädt Daten in die Tabelle "EndlosformDataSet.tblPost".
    4. Me.TblPostTableAdapter.Fill(Me.EndlosformDataSet.tblPost)
    5. 'TODO: Diese Codezeile lädt Daten in die Tabelle "EndlosformDataSet.tblMitarbeiter".
    6. Me.TblMitarbeiterTableAdapter.Fill(Me.EndlosformDataSet.tblMitarbeiter)
    7. FlowLayoutPanel1.AutoScroll = True
    8. For i = 0 To 99
    9. Dim dd As New DataDisplay()
    10. dd.lblIDMitarbeiter.DataBindings.Add("Text", BSPost, "IDMA")
    11. dd.tbxDatum.DataBindings.Add("Text", BSPost, "Eingang")
    12. dd.tbxBemerkung.DataBindings.Add("Text", BSPost, "Bemerkung")
    13. DataDisplays.Add(dd)
    14. FlowLayoutPanel1.Controls.Add(dd)
    15. Next
    16. End Sub

    habe es hier noch mal angehängt.


    ErfinderDesRades schrieb:

    na, die Mühe sollteste dir aber schon machen, wenn ich dir einen Link gebe.

    Da war es schon so spät und so alte Säcke wie ich hätten da schon längst im Bett liegen müssen, deswegen noch nicht gelesen. ;)
    Dateien
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL
    Ich habe das ein wenig geändert, ich denke das ist nun wie du es haben möchtest. Weil du alle Controls an BSPost gebunden hast, haben die natürlich alle das gleiche angezeigt. Ich iteriere durch BSPost und setze die Position der BS adde Bindings für jedes Control zu BSPost.Current.

    Projektmappe noch mal geändert, war fehlerhaft.
    Dateien

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Takafusa“ ()

    InvalidCastException: Ungültige Konvertierung von Typ DBNull in Typ Date/String.

    Takafusa schrieb:

    Weil du alle Controls an BSPost gebunden hast, haben die natürlich alle das gleiche angezeigt.

    Hatte es mir schon irgendwie so gedacht und klingt ja auch logisch, aber ich wusste es nicht besser.

    Läuft im Prinzip auch rund, bis auf die Tatsache mit dieser Fehlermeldung.


    Warum mag er ausgerechnet hier kein DBNull? Unterschied zwischen DBNull und einem String von Länge Null ist mir bewusst.
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL
    Weil eingestellt ist, dass bei DBNull eine Exception geworfen werden soll. Aber bevor Du jetzt in Deiner DataTable einstellst, dass bei NullValue nicht mehr (ThrowException) steht, versuch zu verhindern, dass überhaupt ein Nothing/DBNull da an der Stelle überhaupt reingelangt.
    Ich hab mir das Projekt nicht angeschaut.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    versuch zu verhindern, dass überhaupt ein Nothing/DBNull da an der Stelle überhaupt reingelangt


    Da stellt sich bei mir die Frage, wie kann ich einem

    VB.NET-Quellcode

    1. Me.BSPost.AddNew()
    2. Me.BSPost.EndEdit()
    3. Me.TblPostTableAdapter.Update(EndlosformDataSet.tblPost)

    Gleichzeitig Werte für irgend eine Spalte übergeben?
    Auch frage ich mich gerade wie man beim Füllen des Benutzersteuerelement die Daten sortieren oder/und Filtern kann?
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL

    Lupusverlach schrieb:

    Auch frage ich mich gerade wie man beim Füllen des Benutzersteuerelement die Daten sortieren oder/und Filtern kann?


    Filtern mit BindingSource. Filter = "", sortieren mit BindingSource.Sort, danach aber wieder die Controls auffrischen.(entfernen, neu hinzufügen)
    Ich gucke morgen mal ob es da nicht noch was weiteres einfacheres gibt.

    Lupusverlach schrieb:

    Da stellt sich bei mir die Frage, wie kann ich […] gleichzeitig Werte für irgend eine Spalte übergeben?
    Indem Du der Tabelle (nicht der BindingSource) eine neue Zeile an die Hand gibst:

    VB.NET-Quellcode

    1. EndlosformDataSet.tblPost.AddtblPostRow(HierDieBenötigtenEinzelwerte)
    Lass Dir dabei von IntelliSense helfen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Takafusa schrieb:

    Filtern mit BindingSource. Filter = "", sortieren mit BindingSource.Sort, danach aber wieder die Controls auffrischen.(entfernen, neu hinzufügen)

    Das war jetzt so einfach, das ich hätte selbst darauf kommen können, zumal ich es an andere Stelle ja genau so mache :/

    VaporiZed schrieb:

    Indem Du der Tabelle (nicht der BindingSource) eine neue Zeile an die Hand gibst:

    VB.NET-Quellcode

    1. EndlosformDataSet.tblPost.AddtblPostRow(HierDieBenötigtenEinzelwerte)

    Da mault er rum und verstehe ich auch ein bissel, kann ihm aber nicht wirklich weiterhelfen. Der will hier irgendwas aus der übergeordneten Tabelle (parenttblMitarbeiterRowBytblMitarbeitertblPost)
    .



    Ich habe das jetzt erst einmal mit Hilfe von dem realisiert:

    VB.NET-Quellcode

    1. Dim myReader As OleDb.OleDbDataReader
    2. Dim mySelectQuery As String = "INSERT INTO tblPost (IDMA, Eingang, Bemerkung, Neuanlage) " &
    3. " VALUES ('" & LblID_im_Form.Text.ToString & "', '" & Today.ToString & "' , 'x', '" & Now.ToString & "')"
    4. Dim objconn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\endlosform.mdb;Persist Security Info=True")
    5. Dim myCommand As New OleDb.OleDbCommand(mySelectQuery, objconn)
    6. objconn.Open()
    7. myReader = myCommand.ExecuteReader()
    8. myReader.Close()
    9. objconn.Close()
    10. Me.TblPostTableAdapter.Fill(Me.EndlosformDataSet.tblPost)
    11. ' ####################################### Wenn das aktiv ist kommt es hier zur Fehlermeldung #######################################
    12. 'AktiviereDataDisplay()
    13. BSPost.Sort = ("Eingang desc, ID desc")
    14. BSPost.MoveFirst()

    Jedoch sobald der Part aufgerufen wird:

    VB.NET-Quellcode

    1. Private Sub AktiviereDataDisplay()
    2. FlowLayoutPanel1.Controls.Clear()
    3. For i = 0 To BSPost.Count - 1
    4. BSPost.Position = i
    5. Dim dd As New DataDisplay()
    6. dd.Row = DirectCast(DirectCast(BSPost.Current, DataRowView).Row, endlosformDataSet.tblPostRow)
    7. FlowLayoutPanel1.Controls.Add(dd)
    8. Next
    9. End Sub


    Kommt es zu dieser Fehlermeldung (er behauptet "Diese Zeile wurde aus einer Tabelle entfernt und enthält keine Daten.BeginEdit() ermöglicht das erstellen von neuen Daten in dieser Zeile":


    habe das Projekt noch einmal angehängt als Zip Datei.
    Dateien
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL

    Lupusverlach schrieb:

    Der will hier irgendwas aus der übergeordneten Tabelle
    Ohne Dein Programm angeschaut zu haben: Wenn zwei Tabellen eine Beziehung zueinander haben, also Tabelle2 verweist auf Tabelle1, dann muss natürlich auch angegeben werden, auf welchen Tabelle1-Eintrag eine neue Tabelle2-Zeile verweist. Sonst würde die ja ohne Bezug in der Gegend rumschwirren. Hättest Du eine Herstellertabelle und eine Medikamententabelle, dann würde eine Medikamententabellenzeile ohne Herstellerangabe keinen Sinn ergeben.

    ##########

    @Lupusverlach: Eh … sind das echte Personendaten in der MDB?!?

    ##########

    Eine Post ohne zuständigen/zugehörigen Mitarbeiter ergibt keinen Sinn, wenn eine tblPost-Zeile eine IDMA (Mitarbeiter-ID) Spalte hat.
    btw: Dass eine tblMitarbeiter eine Tabelle ist, sollte auch so klar sein. Daher wäre ein Überdenken der Tabellenbenennung irgendwann sinnvoll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VaporiZed“ ()

    VaporiZed schrieb:

    Ohne Dein Programm angeschaut zu haben: Wenn zwei Tabellen eine Beziehung zueinander haben, also Tabelle2 verweist auf Tabelle1, dann muss natürlich auch angegeben werden, auf welchen Tabelle1-Eintrag eine neue Tabelle2-Zeile verweist. Sonst würde die ja ohne Bezug in der Gegend rumschwirren. Hättest Du eine Herstellertabelle und eine Medikamententabelle, dann würde eine Medikamententabellenzeile ohne Herstellerangabe keinen Sinn ergeben.

    Das hatte ich sogar genauso schon vorher verstanden, nur blicke ich nicht durch wie ich die ID aus der Tabelle Mitarbeiter an der Stelle einbringe. Als Variable lässt er es ja scheinbar nicht zu, oder doch?

    VB.NET-Quellcode

    1. EndlosformDataSet.tblPost.AddtblPostRow("ID aus tblMitarbeiter hier rein, aber wie?", Today(), "Bemerkung", Now())


    VaporiZed schrieb:

    Eh … sind das echte Personendaten in der MDB?!?

    Nee, nee. Ich habe die Vornamen zu den Nachnamen neu gemischt und die Straßennamen ebenso wie die Stadt. Also keine Zuordnung möglich. In der Tabelle Post ist auch alles was auf den Mitarbeiter schließen könnte gelöscht worden.

    VaporiZed schrieb:

    Eine Post ohne zuständigen/zugehörigen Mitarbeiter ergibt keinen Sinn, wenn eine tblPost-Zeile eine IDMA (Mitarbeiter-ID) Spalte hat.

    Das verstehe ich nun nicht oder Du hast was falsch verstanden?
    Ein Mitarbeiter (jeder eine ID) kann mehrfach Post haben, muss aber nicht. Die Zuordnung ist über IDMA in der Tabelle Post.
    In der Tabelle Post gibt es daher keinen Eintrag der ohne Zuordnung zur Tabelle Mitarbeiter. Sollte so Eintrag existieren, dann ist was schief gelaufen.

    VaporiZed schrieb:

    btw: Dass eine tblMitarbeiter eine Tabelle ist, sollte auch so klar sein. Daher wäre ein Überdenken der Tabellenbenennung irgendwann sinnvoll.

    Ich weiß, ich kämpfe da noch mit mir selbst. Wollte es eigentlich lassen. Arbeite seit 2000 mit Access, da ist das so üblich. Schnief, so ein alter Sack wie ich ist eben ein Gewohnheitstier, gelobe Besserung.
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL

    Lupusverlach schrieb:

    nur blicke ich nicht durch wie ich die ID aus der Tabelle Mitarbeiter an der Stelle einbringe

    Indem Du einen konkreten Mitarbeiter quasi wählst. Da kommen wir gleich dazu, nämlich:

    Lupusverlach schrieb:

    In der Tabelle Post gibt es daher keinen Eintrag der ohne Zuordnung zur Tabelle Mitarbeiter. Sollte so Eintrag existieren, dann ist was schief gelaufen.
    Das ist absolut richtig. Eine Post-Zeile kann nicht ohne Mitarbeiterbezug existieren. Und genau das wird verhindert, indem Du eben beim Erstellen einer neuen Post-Zeile angeben musst, welcher Mitarbeiter zu dieser Postzeile dazugehört. Der Compiler will keine ID, sondern eine Mitarbeiterzeile. Und da geht's eben los: Wie willst Du dem Compiler klarmachen, welcher Mitarbeiter zu einer neuen Posttabellenzeile gehört? Es gibt z.B. die Möglichkeit, einen Namen herzunehmen, also:

    VB.NET-Quellcode

    1. Dim DerZuständigeMitarbeiter = EndlosformDataSet.tblMitarbeiter.Single(Function(x) x.Vorname = "Lupus" AndAlso x.Nachname = "Verlach")
    2. EndlosformDataSet.tblPost.AddtblPostRow(DerZuständigeMitarbeiter, Date.Today, "Bemerkung", Date.Now)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    Das ist absolut richtig. Eine Post-Zeile kann nicht ohne Mitarbeiterbezug existieren. Und genau das wird verhindert, indem Du eben beim Erstellen einer neuen Post-Zeile angeben musst, welcher Mitarbeiter zu dieser Postzeile dazugehört. Der Compiler will keine ID, sondern eine Mitarbeiterzeile. Und da geht's eben los: Wie willst Du dem Compiler klarmachen, welcher Mitarbeiter zu einer neuen Posttabellenzeile gehört? Es gibt z.B. die Möglichkeit, einen Namen herzunehmen, also:

    Sorry, aber Vorname und Nachname ergibt irgendwie wenig Sinn. Das ist nicht eindeutig. Zb. haben wir in der original Tabelle, die im Einsatz ist, 3 mal eine Sabine Müller. 2 davon sogar aus dem gleichen Ort.
    Dazu ist doch die ID gedacht um eindeutig unter anderem zuordnen zu können.
    Das ist ja auch zusätzlich in den Beziehungen festgelegt.


    Die ID habe ich als Variable vorliegen. Daher habe ich einmal so probiert und es funktioniert:

    VB.NET-Quellcode

    1. 'EndlosformDataSet.tblPost.AddtblPostRow(HierDieBenötigtenEinzelwerte)
    2. Dim lngID As Long = CLng(LblID_im_Form.Text)
    3. Dim DerZuständigeMitarbeiter = EndlosformDataSet.tblMitarbeiter.Single(Function(x) x.ID = lngID)
    4. EndlosformDataSet.tblPost.AddtblPostRow(DerZuständigeMitarbeiter, Date.Today, "Bemerkung", Date.Now)
    5. 'Me.BSPost.AddNew()
    6. Me.BSPost.EndEdit()
    7. Me.TblPostTableAdapter.Update(EndlosformDataSet.tblPost)
    8. Me.TblPostTableAdapter.Fill(Me.EndlosformDataSet.tblPost)


    Ergebnis ist das gleiche wie bei dem Versuch vorher es mit DataReader gemacht habe, jedoch mit weit aus weniger Zeilen und evtl. auch performanter.

    Jedoch ist die Fehlermeldung aus Pos #16 immer noch nicht gelöst :/
    Sobald ich das Endlosformular neu Zeichnen will mit dem Part:

    VB.NET-Quellcode

    1. Private Sub AktiviereDataDisplay()
    2. FlowLayoutPanel1.Controls.Clear()
    3. For i = 0 To BSPost.Count - 1
    4. BSPost.Position = i
    5. Dim dd As New DataDisplay()
    6. dd.Row = DirectCast(DirectCast(BSPost.Current, DataRowView).Row, endlosformDataSet.tblPostRow)
    7. FlowLayoutPanel1.Controls.Add(dd)
    8. Next
    9. End Sub
    Mit freundlichen Dinges

    Lupus
    P.S: bei allen meine Fragen beziehen sich auf das arbeiten mit Visual Studio 2019 auf Win 10/64 bit und MySQL