Access Datenbank Vergleich

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von bpap.

    Access Datenbank Vergleich

    Guten Abend allerseits... Im vorraus muss ich sagen, dass ich ein anfaenger was VB 2010 angeht bin...

    Ich bastel mir grad ein Projekt zusammen... und ich hab eine Form, in der ich die Textboxen einer Datenbank impotiert hab...mit dem gridview und datenquellen explorer :)

    ich suche seit fast 1 woche, wie eine Textbox mit Werten der Datenbank verbinden kann bzw vergleichen kann..

    Genaueres:

    Kunden.mdb lautet meine Datenbank und in der gibt es eine Tabelle und unter anderem eine Nummer - spalte....

    Ich wuerde gern, dass nachdem der Benutzer im feld NummerTextBox was eingegeben hat, dass es schon die vorhandenen werte der nummer spalte in der Datenbank vergleicht, und falls es die nummer schon mal gibt, eine msgbox " schon vorhanden" zeigt....
    und das nicht mit vielem schnick schnack da es sich fuer ein einfaches private programm handelt :D


    Hab mir viele tutorials angeguckt, und alle sind irgednwie auf SQL basiert bzw mit diesntbasierende datenbank....

    Mein Grundgedanke:

    VB.NET-Quellcode

    1. IF Nummer.TextBox.Text = (eine vorhanden Nummer in der Datenbank, Nummer-Spalte) then msgbox("Nummer schon vorhanden")




    wie gesagt weiss ich nicht wie man das macht die datenbank werte zu lesen...


    Bedanke mich im vorraus :D
    erstmals danke fuer die schnelle antwort :)


    ich hab mir das 10 min datenbank tutorial angeguckt....alles sehr schoen...aber ich hab ja shcon eine datenbank und ich kann auch eine erstellen....

    ich habe eine eingabeformular, dass die daten in die datenbank speichert (mit dem assisten von vb2010)....
    und ein formular wo man die daten sehen kann..

    :/
    na, wenn du deine Anwendung mittm Assistenten erstellt hast, dann hast du ja bereits beim StartUp alle Kunden ins Dataset geladen.
    Da brauchst du jetzt keine Abfrage mehr an die DB, denn du hast die Daten ja bereits im Dataset.

    Wie heißt die DataTable, wo du nach der Nummer suchen willst? Da ginge dann iwas einfaches wie

    VB.NET-Quellcode

    1. dim rwKunde=myDataset.Kunden.FirstOrDefault(function(rw)rw.Nummer=suchnummer)
    2. if rwKunde is Nothing then gibts diese Nummer nicht
    aso.... das heißt mein code müsste dann irgendwie so aussehen:

    Quellcode

    1. Private Sub NummerTextBox_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles NummerTextBox.TextChanged
    2. Dim rwKunden = KundenDataSet.Kunden.FirstOrDefault(Function(rw) rw.Nummer = NummerTextBox.Text)
    3. If rwKunden Is Nothing Then MsgBox("test") End Sub




    wobei KundenDataSet die datenbank, Nummer die Spalte und NummerTextBox.Text das Feld zur eingabe...

    aber irgendwie glaube ich ist es falsch... :D

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

    da ich mir ziemlich sicher bin das der FirstOrDefault operator nicht das ist was ich brauche... vlt hab ich mich falsch ausgedruckt, deshalb mal eine kleine Zusammenfassung:

    Access-Datenbank Kunden.mdb -> Kunden (Tabelle) ->ID (Primär Schlüssel, mit Autowert) Name, Vorname, Str, Ort, Nummer

    Ich hab also ein Formular erstellt (frmKundeneingeben.vb) in der das DataSet und BindingSource sowie TableAdapter der Kunden-Datenbank ist, und so mit der Benutzer alles eingeben kann, und in der Datenbank gespeichert. Ich würde gern, dass wenn der Benutzer
    im Textfeld von Nummer (NummerTextBox) eine Nummer eingibt, das Formular kontrolliert, ob diese Nummer in der Kunden-Datenbank schon vorhanden ist und wenn ja dann die Nachricht ausgibt "Die Nummer ist schon vorhanden", und wenn nicht dann den Eintrag speichern...

    Hoffe das hilft bisschen mehr :) und bedanke mich schon wieder im voraus :D
    aha....aber irgendwie funktioniert dein code nicht :/ bzw so wie ich den umgestaltet hab :/

    wenn ich einen neuen Kunden eingebe und ihm die selbe Nummer des vorherigen kommt keine Meldung kein gar nix ://

    egal was fürr ein Event ich auch benutze...ob ich es mit nem Click Befehl versuche oder auch TextChange
    hmm mit dem sctrict on habe ich keine DBNull Fehlermeldungen mehr wie hier


    VB.NET-Quellcode

    1. Catch e As Global.System.InvalidCastExceptionThrow New Global.System.Data.StrongTypingException("Der Wert für Spalte Nummer in Tabelle Kunden ist DBNull.", e)End Try


    wobei eigentlich DBNullAllow auf true ist..


    Naja egal, irgendwie will das nicht funktionieren, und meine Nerven sind eh schon seit 1,5 Wochen dahin mit diesem code -.-
    ich lass das einfach weg...

    ich danke dir aber für deine Hilfe und sry falls ich deine Zeit in Anspruch genommen habe :)

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