Hallo Forum,
Vorab, verwende DataGrid2 mit Access 2003.
Habe folgendes Problem:
Aus meinem ersten Formular wähle ich einen Datensatz aus. Nach der Auswahl klick ich auf den button "Weiter". Hierbei wird in einer Tabelle ein neuer Datensatz angelegt und die Felder mit Werten gefüllt, unter anderem der Wert "IdHonorar". Danach öffnet sich ein neues Formular mit einem Textfeld in der der Wert "IdHonorar" übernommen wird und dem DataGrid. Das DataGrid soll jetzt, anhand des Wertes in "IdHonorar" mit den neu angelegten Daten (also nur eine Zeile) befüllt werden. Leider wird beim öffnen des neuen Formulars im Feld "IdHonorar" die richtige, neue Datensatznummer angezeigt, jedoch füllt sich das Grid mit dem ersten Datensatz der Tabelle aus der "IdHonorar" stammt.
Hier der Code der den neuen Datensatz erstellt:Private Sub Weiter_Click(Cancel As Integer)
Hon_Nr_Neu 'neue Honorarnummer ermitteln
Datensatz_Neu 'neue Datensätze in Honorarermittlungstabellen anlegen
FilterChildForm 'Formular frmHonorar öffnen und zu aktuellen Datensatz
' gehen
DoCmd.Close acForm, Me.Name
End Sub
Private Sub FilterChildForm()
PID = Me!IdHonorar
DoCmd.OpenForm "frmHonorar"
DoCmd.GoToControl "IdHonorar"
DoCmd.FindRecord PID, , , , , , True 'wird auch in Form frmHonorar angezeigt
End Sub Hier der Code für das Formular mit DataGrid, also frmHonorarPrivate Sub Form_Load()
Dim sSQL As String
Dim oRs As DAO.Recordset
' Recordset-Objekt erstellen
sSQL = "SELECT IdHonorar, Ermittlungsnummer, Bezeichnung, ErstellungsDatum," & _
"AenderungsDatum, IdAnsatz, " & _
"MwSt, IdZone, IdSatz " & _
"FROM tblHonorarErmittlungen WHERE IdHonorar = " & Me!IdHonorar & ";"
Set oRs = CurrentDb.OpenRecordset(sSQL)
With sevGrid1
.LockUpdate True
.CreateClone = True
.Clear True
Set .Recordset = oRs
.CaptionVisible = True
.CaptionFont.Name = "Tahoma"
.CaptionFont.Bold = True
.Caption = "Honorarermittlung"
.Columns(6).ColType = TYPE_CHECKBOX
.Columns(8).ColType = TYPE_COMBOBOX
.Columns(9).ColType = TYPE_COMBOBOX
.Columns(1).Width = 100
.Columns(2).Width = 800
.Columns(3).Width = 3000
.Columns(4).Width = 600
.Columns(5).Width = 600
.Columns(6).Width = 400
.Columns(7).Width = 600
.Columns(8).Width = 800
.Columns(9).Width = 800
' interaktives Hinzufügen, Ändern und Löschen ermöglichen
.AllowEdit = True
.AutoUpdate = True
.AllowDelete = False
' interaktives Ändern der Spaltenbreiten zulassen
.AllowColumnSizing = True
' autom. Neuzeichnen einschalten
.LockUpdate False
.Refresh
' 1. Zeile selektieren
.Row = 1
' ursprüngliches Recordset zerstören
oRs.Close
Set oRs = Nothing
End With Habe einen Haltepunkt nach ""FROM tblHonorarErmittlungen WHERE IdHonorar = " & Me!IdHonorar & ";" und festgestellt, dass ich hier immer den Wert "Null" zurück bekomme.
Hat da jemand ne idee??? Bin Ratlos.
Grüße
Speedy |