Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

bestimmte Zeile in DataSet ändern

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

für alle die nur darauf warten das ich eine neue Frage stelle (:)), hier meine "Freitags-Frage":

Ich möchte eine Zeile im DataSet ändern, hier der Code (der funktioniert) um eine Zeile zu ändern die aufgrund eines ListBox-Eintrags geändert wird:


Dim dblPos As Double

dblPos = Me.BindingContext(Me.DataView1).Position

With DataSet21.Tables("Prozessdaten 2641").Rows(dblPos)

.Item("freig PCD") = "x"

.Item("status") = "1"

End With

OleDbDataAdapter1.Update(DataSet21, "Prozessdaten 2641")

Theoretisch müsste es ja einfacher sein das DataSet ohne ListBox-Eintrag zu ändern, einfach in dem ich den PKey der Tabelle angebe und diese Zeile dann wie ich es möchte verändert wird.

Nur wie kann ich das dann angeben??

Danke im voraus.

Viele Grüße

Informatikerin

Hallo Leute,

ich hab das schon mal mit der OleDbCOmmand versucht, es hat bei mir leider nicht funktioniert. Das ist mein Code:


Me.OleDbDataAdapter1.Fill(DataSet31)

        Dim cmd As OleDb.OleDbCommand

        Dim cmdtest As OleDb.OleDbCommandBuilder

        Dim parm As OleDb.OleDbParameter


        cmd = New OleDb.OleDbCommand("UPDATE Prozessdaten 2641 SET status = 3" & _

                             "WHERE SAP-Nr = 4444", Me.OleDbConnection1)


        'cmd.Parameters.Add("@CompanyName", OleDb.OleDbType.VarChar, 8, "CompanyName")

        'parm = cmd.Parameters.Add("@oldCustomerID", OleDb.OleDbType.VarChar.Char, 8, "CustomerID")

'gefunden bei Msdn


        Me.OleDbDataAdapter1.UpdateCommand = cmd

        OleDbDataAdapter1.Update(DataSet31, "Prozessdaten 2641")


        MsgBox("Das PDB mit der SAP-Nr: " & strSuchText & " wurde archiviert", MsgBoxStyle.Information, "Information")

Weiß vielleicht jemand wo mein Fehler liegt? Die Anwendung sagt gar nichts, es passiert einfach nur nichts in der DB.

Danke im voraus :)

Viele Grüße informatikerin

        cmd = New OleDb.OleDbCommand("UPDATE Prozessdaten 2641 SET status= @statusOrg WHERE SAP-NR = " & strSuchText, Me.OleDbConnection1)


        cmd.Parameters.Add("@status", OleDb.OleDbType.Integer, 8, "3")

        parm = cmd.Parameters.Add("@statusOrg", OleDb.OleDbType.Integer, 8, "status")

klappt aber immer noch nicht

Weiß vielleicht jemand wo mein Fehler liegt? Die Anwendung sagt gar nichts, es passiert einfach nur nichts in der DB.

Das DataSet wird aber geändert?

Evtl. ist der DataAdapter geschlossen (wobei, dann sollte eigentlich eine Exception kommen).

Hallo,

ich hab jetzt nen kompletten "Work-around" gefunden, kein Eingabefeld das erst mit der DB "verknüpft" werden muss sondern eine ComboBox die als Source mein DataView hat. Nun kann ich wieder den Code aus meinem ersten Post benutzen.

Eigentlich ist das auch die bessere Lösung, da ich dann nicht zig if-abfragen machen muss und vorgegebene (richtige) werte einfacher sind wenn man sie auswählen kann.

Trotzdem vielen Dank TDM für deine Hilfe!

Lg Simone

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.