vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

Visual-Basic Einsteiger
Re: Wie leere ich ein Recordset?! 
Autor: Blaub
Datum: 30.08.06 16:05

 
Also Arbeiten tue ich mit VBA + Access

ich poste dann mal die einzelnen Codes die für dich wichtig sind

Ich habe eine Klasse tablequery erstellelt öhm sie dient einfach nur dazu das ich über die Objekte die einzelnen Abfragen ansprechen kann....
Option Compare Database
 
Public r As Recordset
Private WS As Workspace
Private DB As database
Private SysMdwFileName As String
Private DBFileName As String
Private strquery As String
 
Property Let queryname(querystr As String)
    strquery = querystr
End Property
 
Property Let dbname(dbdata As String)
    DBFileName = "H:\.............." & dbdata
End Property
 
Function query()
    SysMdwFileName = "H:\.....................MDW"
 
    'DBEngine mitteilen, wo die System.mdw liegt
    DBEngine.SystemDB = SysMdwFileName
 
    'Workspace mit dem Namen "MyWs" für User "..............." mit Passwort 
    ' "..........." erzeugen
    Set WS = DBEngine.CreateWorkspace("Zeiterfassung", ".....", ".........", _
      dbUseJet)
 
    'und dann die DB öffnen
    Set DB = WS.OpenDatabase(DBFileName, False)
 
    Set r = DB.OpenRecordset(strquery, dbOpenDynaset)
End Function
Ich habe ein Formular mit Kombobox dort kann man einen Namen der Teamleiter auswählen dann öffnet sich ein neues Formular, dann wird unter anderem das Objekt (abfrage3) erstellt zusätzlich wird noch ein 2. Objekt (abfrage2) erstellt in dem dann alle Mitarbeiter des TL abgefragt werden.
Abfrage3 ist dafür da die Daten Anwesenheitszeit, Komm und Gehzeit des jeweils aktuell angezeigten Mitarbeiters abzufragen

Dim abfrage2 As New tablequery
Dim abfrage3 As New tablequery
Sobald das Formular aufgerufen wird, wird die Funktion setfields() aufgerufen:
Function setfields()
With abfrage2
Me.txtPerNr = .r!PerNr
Me.txtname = .r!PerName
Me.txtvorname = .r!PerVorname
Me.txtlart = .r!LArt
Me.txtarbplatz = .r!PerArbPlatz
Me.Mitarbeiterauswahl.Value = .r!PerNr
End With
 
If Me.Datumauswahl.ListCount > 0 Then
i = 0
j = Me.Datumauswahl.ListCount - 1
Do Until i > j
    Me.Datumauswahl.RemoveItem (j - i)
    i = i + 1
Loop
End If
 
Set abfrage3 = Nothing
 
With abfrage3
.dbname = "ZeitRM.mdb"
.queryname = "SELECT Erfassung.EPerNr, Erfassung.EKom, Erfassung.EGeh," & _
  "Erfassung.EIstAZeit, " & _
"Sum(Belegung.IstArbeit) AS SumIstArbeit, Erfassung.EVol, Belegung.Erled," & _
"Belegung.PMVor, " & _
"Erfassung.EDatum, Erfassung.ESAP FROM Erfassung LEFT JOIN Belegung ON (" & _
"Erfassung.EPerNr = Belegung.PerNr) " & _
"WHERE Erfassung.EPerNr = " & Me.txtPerNr & _
"AND (Erfassung.EDatum = Belegung.BDatum) GROUP BY Erfassung.EPerNr," & _
"Erfassung.EKom, Erfassung.EGeh, " & _
"Erfassung.EIstAZeit, Erfassung.EVol, Belegung.Erled, Belegung.PMVor," & _
"Erfassung.EDatum, Erfassung.ESAP " & _
"HAVING Erfassung.ESAP Like 'F' ORDER BY Erfassung.EDatum"
.query
If .r.EOF = False Then
    Do Until .r.EOF = True
        Debug.Print .r.AbsolutePosition
        Me.Datumauswahl.AddItem .r![EDatum] & ";" & .r![EKom] & ";" & .r![EGeh] _
          & ";" & .r![EIstAZeit] & ";" & .r![SumIstArbeit]
        .r.MoveNext
    Loop
    .r.MoveFirst
End If
End With
End Function
So das Problem an der Sache ist wenn ich nun einen anderen Mitarbeiter auswähle wird wieder setfields aufgerufen und das Recordset der Abfrage3 enthält immer noch die Daten des vorherigen Mitarbeiters und die Position ist auf den 1. Eintrag egstelt. Jetzt muss natürlich erst mal dieses Recordset geleert werden damit ich die neuen Werte rein schreiben kann und das ist das PRoblem wo ich nicht weis wie es geht.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Wie leere ich ein Recordset?!1.245Blaub30.08.06 12:24
Re: Wie leere ich ein Recordset?!935Prian081530.08.06 13:43
Re: Wie leere ich ein Recordset?!925Blaub30.08.06 13:55
Re: Wie leere ich ein Recordset?!785Dicker_230.08.06 14:32
Re: Wie leere ich ein Recordset?!763Prian081530.08.06 15:10
Re: Wie leere ich ein Recordset?!800Blaub30.08.06 16:05
Re: Wie leere ich ein Recordset?!2.578Prian081531.08.06 10:13
Re: Wie leere ich ein Recordset?!875Blaub31.08.06 10:16
Re: Wie leere ich ein Recordset?!881Prian081531.08.06 10:26
Re: Wie leere ich ein Recordset?!869Blaub31.08.06 11:09
Re: Wie leere ich ein Recordset?!856Blaub31.08.06 13:04
Re: Wie leere ich ein Recordset?!802Prian081531.08.06 13:05
Re: Wie leere ich ein Recordset?!769Blaub31.08.06 13:30
Re: Wie leere ich ein Recordset?!778Prian081531.08.06 14:11
Re: Wie leere ich ein Recordset?!753Blaub31.08.06 14:20
Re: Wie leere ich ein Recordset?!770Prian081531.08.06 14:34
Re: Wie leere ich ein Recordset?!875Blaub31.08.06 15:10

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-2025 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