vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Problem mit ADO Refresh Feld nicht aktualisierbar 
Autor: Chris Schäfer
Datum: 05.04.13 20:04

Hallo,

ich konnte nach ausführlichem Suchen keine Lösung für das Problem finden, vielleicht kann mir ja einer von euch helfen:

Ich habe ein Fenster mit Datagrid, das über ein Adodc-Element auf eine Datenbank verlinkt ist. Das Adodc-Element wird zur Laufzeit mit ConnectionString und RecordSource gefüllt. Ich kann über die gewählte Zeile im Datagrid Daten in die Datenbank einfügen und löschen.

Wenn ich Elemente lösche oder hinzufüge treten keine Probleme auf, aber beim "Form load" fehlt im Datagrid der erste Eintrag der ersten Zeile obwohl dieser in der Datenbank hinterlegt ist.

VB gibt mir als Fehlermeldung folgenden DataGrid Control Fehler aus:
'ID' kann nicht aktualisiert werden; Feld nicht aktualisierbar

Im Code selbst wird kein Fehler angezeigt...

Vielen Dank an alle Helfer!

Private Sub cmdLöschen_Click()
Dim rstRecordset As New ADODB.Recordset
Dim varCount As Variant
'Test ob Tabelle leer ist
varCount = dtgBaugruppen.ApproxCount
If varCount = 0 Then Exit Sub
 
'Datensatz suchen
gobjCmd.CommandText = "Select * From tblBaugruppe Where ID = " & _
  Me.dtgBaugruppen.Columns(0)
 
With rstRecordset
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Open gobjCmd
End With
 
If rstRecordset.EOF = True Then Exit Sub
 
'Falls Datensatz gefunden wird geslöscht
rstRecordset.Delete
rstRecordset.Update
rstRecordset.Close
 
AdodcBaugruppen.Refresh
dtgBaugruppen.Refresh
End Sub
 
Private Sub cmdNeu_Click()
Dim conConnection As New ADODB.Connection
Dim cmdCommand As New ADODB.Command
Dim rstRecordset As New ADODB.Recordset
Dim ID As Integer
Dim BauGName As String
 
BauGName = InputBox("Geben Sie einen Namen an.", "Neues Produkt erstellen")
 
If BauGName = "" Then Exit Sub
 
'frmWähleProduktart.Show
'Unload Me
 
conConnection.ConnectionString = DBC_new
conConnection.CursorLocation = adUseClient
 
conConnection.Open
 
With cmdCommand
    .ActiveConnection = conConnection
    .CommandText = "SELECT * FROM tblBaugruppe Where ProduktID =" & ProdID
    .CommandType = adCmdText
End With
 
With rstRecordset
    .CursorType = adOpenStatic
    .CursorLocation = adUseClient
    .LockType = adLockOptimistic
    .Open cmdCommand
End With
 
'Falls der Baugruppenname doppelt ist, wird kein neuer Eintrag erstellt.
rstRecordset.Find "Baugruppenname = '" & BauGName & "'"
If rstRecordset.EOF <> True Then
    MsgBox ("Bitte wählen Sie einen neuen Namen für die Baugruppe.")
    Exit Sub
End If
 
rstRecordset.AddNew
rstRecordset.Fields("ProduktID") = ProdID
rstRecordset.Fields("Baugruppenname") = BauGName
rstRecordset.Update
 
'Aktuelle Baugruppen-ID setzen
BauGID = rstRecordset.Fields("ID").Value
 
rstRecordset.Close
conConnection.Close
 
AdodcBaugruppen.Refresh
dtgBaugruppen.Refresh
End Sub
 
Private Sub cmdWeiter_Click()
Dim varCount As Variant
'Test ob im Datagrid Eintrag gewählt wurde
varCount = dtgBaugruppen.ApproxCount
If varCount = 0 Then
    MsgBox "Bitte eine Baugruppe auswählen."
    Exit Sub
End If
 
'BaugruppenID setzen, die bearbeitet werden soll
BauGID = Me.dtgBaugruppen.Columns(0)
 
frmBauteilWählen.Show
Unload Me
 
End Sub
 
Private Sub Form_Load()
 
AdodcBaugruppen.ConnectionString = DBC_new
AdodcBaugruppen.RecordSource = "Select * From tblBaugruppe where ProduktID =" & _
  ProdID
AdodcBaugruppen.Refresh
 
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit ADO Refresh Feld nicht aktualisierbar2.177Chris Schäfer05.04.13 20:04

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel