tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von JensG
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1730
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    JodoK JodoK ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    14
    Hallo,
    hab mal wieder ein Problem und bin schon seit Stunden auf der Suche .

    Ich habe eine Access Datenbank mit einem Formular per DataGridView gekoppelt. Wenn ich jetzt Daten z.B. Artikelnummer in die Formular Textbox schreibe werden die Artikelnummer per Button in die Datenbank geschrieben und per Updatefunktion aktualisiert (Alles kein Problem).
    Jetzt möchte ich aber eine bestimmet Artikelnummer mit allen eingegeben Daten wie z.B. Artikelname usw. wieder aus der Datenbank löschen.

    Ich habe mir das so vorgestellt: Eine Text.Box, wo die Artikelnummer eingegeben wird, wird bei Knopfdruck "Löschen" per Select Befehl gesucht und dann per Row.Delete gelöscht. Leider klappt das nicht und das Programm schmiert mir ab.

    Reihen kann ich ja mit dem Befehl:
    EtikettDataSet.Tables("KundenArtikeldaten").Rows(0).Delete()
    ohne Probleme löschen. Aber wie Suche ich mir eine Zeile nach Artikelnummer raus und lösche diese dann?
    Ich hoffe Ihr versteht was ich meine und könnt mir helfen.

    Programm ist :Microsoft Visual Basic 2005
     

  2. #2
    JodoK JodoK ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    14
    Das Problem mit dem Zellen löschen habe ich jetzt über Binding Navigator gelöst, nur ist es sehr mühselig die Zeilen manuell zu durchsuchen.

    Wie ist es mögliche eine einzelne Zelle z.B. "Artikel" per Button im DataGridView suchen zu lassen
    Ich finde einfach keine Lösung und wäre für Tips sehr dankbar.

    Vielen Dank
     

  3. #3
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo JodoK,

    Zitat Zitat von JodoK Beitrag anzeigen
    Ich habe mir das so vorgestellt: Eine Text.Box, wo die Artikelnummer eingegeben wird, wird bei Knopfdruck "Löschen" per Select Befehl gesucht und dann per Row.Delete gelöscht. Leider klappt das nicht und das Programm schmiert mir ab.
    Ohne den Code zu kennen kann man schwer sagen warum das Programm abschmiert.
    Man sollte wegen solchen möglichen Fehlern eine Fehlerbehandlung einbauen.

    ...
    Da du jetzt mit dem Bindingnavigator arbeitest kannst du über die Textbox die Filter
    Methode der Bindingsource nutzen um die Zeile mit der Artikelnummer anzuzeigen.
    Die Find Methode der Bindingsource wäre auch eine Alternative.

    Gruß
    Jens
     
    Hilfreiche Posts bitte bewerten !

  4. #4
    JodoK JodoK ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    14
    Vielen Dank für den Tip.

    Ich wollte die Zeilen immer über DataGridView ansprechen, was wohl nicht funktioniert.
    Habs jetzt über die BindingSource so gelöst:

    Code
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    If Artikel.Text = "" Then
    MsgBox("Bitte Artikelnummer eingeben")
    End If
    Me.KundenArtikeldatenBindingSource.Filter = "Artikel Like'" & Artikel.Text & "%'"
    End Sub

    Noch eine kurze Frage?
    Jetzt sucht er ja den gesuchten Satz lt.Textbox aus der Tabelle raus und zeigt nur den gesuchten Satz und nicht die anderen Daten an. Wie kann man es machen, dass er nur in die gesuchte Reihe springt?
     

  5. #5
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo JodoK,

    das geht ebenfalls.

    z.B.

    mit
    Dim i as Integer = _
    Me.KundenArtikeldatenBindingSource.Find("dein Feld",Wert)

    Me.KundenArtikeldatenBindingSource.Position = i

    Allerdings geht es (ohne jetzt getestet zu haben) hier nicht mit
    der Like Suche wie beim Filter. Ich glaube das geht nur mit dem
    exaKten Wert.

    Jens
    JodoK bedankt sich. 
    Hilfreiche Posts bitte bewerten !

  6. #6
    JodoK JodoK ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    14
    Danke,
    Du hast mir sehr geholfen
     

  7. #7
    JodoK JodoK ist offline Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    14
    Hallo, hab doch noch eine Frage.

    Wie kann man es realisieren, dass wenn der Artikel nicht im Datagrid vorhanden ist, eine MsgBox ausgegeben wird mit Text "Artikel nicht in Liste vorhanden"?

    Hab es schon mit der If Anweisung probiert, aber irgendwie steh ich auf dem Schlauch.
     

  8. #8
    Avatar von JensG
    JensG JensG ist offline Mitglied Platin
    Registriert seit
    Jun 2004
    Ort
    Gera (Thüringen)
    Beiträge
    517
    Hallo JodoK,

    du kannst die Variable i mit If prüfen.

    Wenn nichts gefunden wurde, müsste i = -1 sein.
    Ansonsten > -1.

    Jens
     
    Hilfreiche Posts bitte bewerten !

Ähnliche Themen

  1. [VB.NET] Bestimmte Zelle im DataGridView anzeigen
    Von RedWraith im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 06.08.10, 16:42
  2. Antworten: 0
    Letzter Beitrag: 03.10.09, 17:17
  3. [c#] DataGridView Zellen editieren / Reihen löschen
    Von BeaTBoxX im Forum .NET Windows Forms
    Antworten: 10
    Letzter Beitrag: 27.09.07, 20:52
  4. Bestimmte Tabellen löschen @ Access / VBA
    Von Blaubmania im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 16.08.06, 16:01
  5. Access - bestimmte Datensätze via Primärschlüssel löschen
    Von danielandross im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 29.05.06, 16:09