MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 11.01.2017, 16:47   #1
Lanz Rudolf
MOF Guru
MOF Guru
Standard Acc2016 - Findfirst in acc2016

Hallo
ich habe eine Access.Mdb (Access 20003)
habe die konvertiert nach (acc2016)accdb
wenn ich die MDB unter acc2013 laufen lasse läuft der unten gezeigte Code wie gewohnt bei (acc2003)
bei der ACCDB kommt ein Fehler bei "rsP.MoveFirst"
Methode oder Objekt nicht gefunden
bei beiden Versionen Mdb und accdb findet er die Hilfe zu MoveFirst
Code:

On Error GoTo Err_OKButton_Click
Dim dbP                 As Database
Dim rsP                  As Recordset
Dim StrK                As String
Dim stDocName       As String
Dim stLinkCriteria   As String
Dim StrMSG           As String
    Set dbP = CurrentDb
    Set rsP = dbP.OpenRecordset("TblDiv", dbOpenDynaset)
   rsP.MoveFirst
auch das Start macro Autoexec läuft unter 2013 nicht, das Makro öffnet nur ein Formular
wenn ich dan das Formular von Hand öffne und da ein wert eingebe kommt der Fehler

Was ist der Fehler / oder Was mache ich Falsch
hat jemand ein Vorschlag ein Gutenrat ?

Bitte nicht zurück nach 2003 ! damit währe es zwar sicher das es Läuft 2003 ist doch noch das Beste Access

__________________


Gruss
Ruedi

WICHTIG Hilfe findet man auch hier:
http://www.donkarl.com/ ;http://www.yaccess.de/ ; und natürlich MS Office Forum Ask Dr. Mof http://www.ms-office-wissen.de/askdrmof/index.php;
Umgang mit NULL ; hier downloaden
Datenrettung;http://www.access-rettung.de/info.htmMeine Doc;Meine Doc

Geändert von Lanz Rudolf (11.01.2017 um 17:04 Uhr).
Lanz Rudolf ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 16:58   #2
fredfred
MOF Profi
MOF Profi
Standard

Hast du mal nach den Verweisen geschaut ?
Wenn es einen Verweis mit Hinweis NICHT VORHANDEN gibt, dann hatte ich solche Merkwürdigkeiten auch schon mal.
fredfred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 17:11   #3
Lanz Rudolf
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

Hallo
Danke für die Antwort
Die MDB hat die Gleichen Verweise !

werde mich aber darum kümmern
ob ich da was anpassen muss !

__________________


Gruss
Ruedi

WICHTIG Hilfe findet man auch hier:
http://www.donkarl.com/ ;http://www.yaccess.de/ ; und natürlich MS Office Forum Ask Dr. Mof http://www.ms-office-wissen.de/askdrmof/index.php;
Umgang mit NULL ; hier downloaden
Datenrettung;http://www.access-rettung.de/info.htmMeine Doc;Meine Doc
Lanz Rudolf ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 17:15   #4
Ohrkester
MOF Koryphäe
MOF Koryphäe
Standard

Servus Lanz Rudolf,
wieso kommt denn da ein Fehler, wenn Du eine Fehlerabfangroutine drin hast?
Liegt vielleicht dort das Problem?
Ohrkester ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 17:31   #5
Lanz Rudolf
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

Hallo
Dank auch Dir

das ist doch klar er kommt auf On Error und damit auf Err_OKButton_Click:

hier die ganze SUB
Code:

Private Sub OKButton_Click()
On Error GoTo Err_OKButton_Click
Dim dbP             As Database
Dim rsP             As Recordset
Dim StrK            As String
Dim stDocName       As String
Dim stLinkCriteria  As String
Dim StrMSG          As String
    Set dbP = CurrentDb
    Set rsP = dbP.OpenRecordset("TblDiv", dbOpenDynaset)
    rsP.MoveFirst
    StrK = "User = " & Chr(34) & Me!User & Chr(34)
    rsP.FindFirst StrK
    If rsP.NoMatch Then
        UserCount = UserCount + 1
        If UserCount > 2 Then
            StrMSG = "Benuzer ungültig" & vbCrLf & " Letzer Versuch !!!!" & " Versuche"
        Else
            StrMSG = "Benuzer ungültig" & vbCrLf & " Sie noch " & (3 - UserCount) & " Versuche"
        End If
        MsgBox (StrMSG), vbOKOnly
        If UserCount > 2 Then
            DoCmd.Quit
        End If
        Me!User.SetFocus
        GoTo Exit_OKButton_Click
    Else
        GUser = rsP!User
        GUserGruppe = rsP!UserGruppe
        GPW = rsP!Pw
        If ((GUserGruppe = "Administrator") And (Not IsMDE)) Then
            AllowQuit = True
        End If
    End If
    PWE = ModDiv(Nz(Me![Pw]))
    If Nz(PWE) = Nz(GPW) Then
        rsP.Edit
            rsP!CompName = GCompName
        rsP.Update
    Else
        PWCount = PWCount + 1
        If PWCount > 2 Then
            StrMSG = "Passwort ungültig" & vbCrLf & " Letzer Versuch !!!!" & " Versuche"
        Else
            StrMSG = "Passwort ungültig" & vbCrLf & " Sie noch " & (3 - PWCount) & " Versuche"
        End If
        MsgBox (StrMSG), vbOKOnly
        If PWCount > 2 Then
            DoCmd.Quit
        End If
        Me!Pw = ""
        Me!Pw.SetFocus
        GoTo Exit_OKButton_Click
    End If
    rsP.Close
    DoCmd.Close
    stDocName = "Switchboard"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_OKButton_Click:
    Exit Sub
Err_OKButton_Click:
    MsgBox Err.Description
    Resume Exit_OKButton_Click
End Sub

__________________


Gruss
Ruedi

WICHTIG Hilfe findet man auch hier:
http://www.donkarl.com/ ;http://www.yaccess.de/ ; und natürlich MS Office Forum Ask Dr. Mof http://www.ms-office-wissen.de/askdrmof/index.php;
Umgang mit NULL ; hier downloaden
Datenrettung;http://www.access-rettung.de/info.htmMeine Doc;Meine Doc
Lanz Rudolf ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 17:32   #6
ebs17
MOF Guru
MOF Guru
Standard

1) MoveFirst (im Thema) ist für mich etwas anderes als FindFirst (Thementitel). Klarheit beginnt bei der Formulierung.

2) Seit es neben DAO auch ADODB gibt (Acc2000), ist es guter Stil, bei Recordsets den zugehörigen Typ anzugeben, weil es sonst wegen der Berücksichtigung der Reihenfolge der Verweise zu verwirrenden Fehlern kam.
Code:

Dim rs AS DAO.Recordset     ' Openrecordset wäre eine DAO-Methode
3) DAO wird seit Acc2007 eigentlich durch die Access Database Engine (ACE) verrichtet (bis Ac97 DAO 3.5, ab Acc2000 DAO 3.6).
Bei gleichen Verweisen (Spekulation): Vielleicht kann Ac2016 nichts mehr mit DAO 3.6 anfangen.

4) MoveFirst ist unnötig bei einem neu geöffneten Recordset, weil der Datenzeiger eh auf dem ersten Datensatz liegen würde. Auch als Vorbereitung zu FindFirst ist der Schritt unnötig. Beide Anweisungen erfordern aber, dass es Datensätze im Recordset gibt (NOT EOF), da sie sonst Fehler werfen. Die Datenfrage könnte durchaus unabhängig von der Accessversion sein.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}:{10}
Dein Dankeschön: DBWiki=>Spende

Geändert von ebs17 (11.01.2017 um 17:53 Uhr).
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 17:48   #7
Lanz Rudolf
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

Hallo
habe mich Vertippt FindFirst Richtig ist MoveFirst

Danke für die DAO Lektion
meine original MDB ist aus dem Jahr 2002 und ich habe sie heute zum ersten mal wider in die Hand genommen
als zum erfahren was muss sollte bei der konvertirung angepasst werde !
unkonvertiert auf accdb laufts also muss ich da ansetzen

__________________


Gruss
Ruedi

WICHTIG Hilfe findet man auch hier:
http://www.donkarl.com/ ;http://www.yaccess.de/ ; und natürlich MS Office Forum Ask Dr. Mof http://www.ms-office-wissen.de/askdrmof/index.php;
Umgang mit NULL ; hier downloaden
Datenrettung;http://www.access-rettung.de/info.htmMeine Doc;Meine Doc

Geändert von Lanz Rudolf (11.01.2017 um 18:30 Uhr).
Lanz Rudolf ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.01.2017, 18:51   #8
Lanz Rudolf
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

Hallo
@Eberhard

Zitat:

Seit es neben DAO auch ADODB gibt (Acc2000), ist es guter Stil, bei Recordsets den zugehörigen Typ anzugeben

Das ist etwas was ich ja auch immer wieder sage.
doch ist es mir bei diesem Code NICHT aufgefallen!
da ich mir Vertraut habe
Ich häte nur in meine Doc Lesen sollen
Da Steht es z.B.
Dim rs As Recordset
Es ist besser so
Dim rs As DAO.Recordset

nach dem ich das angepasst habe Funktioniert es auch !
Code:

Dim dbP             As dao.Database
Dim rsp             As dao.Recordset
DANKE Eberhard

__________________


Gruss
Ruedi

WICHTIG Hilfe findet man auch hier:
http://www.donkarl.com/ ;http://www.yaccess.de/ ; und natürlich MS Office Forum Ask Dr. Mof http://www.ms-office-wissen.de/askdrmof/index.php;
Umgang mit NULL ; hier downloaden
Datenrettung;http://www.access-rettung.de/info.htmMeine Doc;Meine Doc

Geändert von Lanz Rudolf (11.01.2017 um 19:11 Uhr).
Lanz Rudolf ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:54 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.