Inlog scherm windows XP/7

Status
Niet open voor verdere reacties.

klablabla

Gebruiker
Lid geworden
28 apr 2008
Berichten
116
Hallo

Sinds een paar jaar gebruik ik het volgende script. Om in te loggen.
Het heeft al die jaren perfect gewerkt.

Nu zijn sommige computers geupdate naar windows 7 de rest is nog XP.

Het vreemde is dat alles heeft gewerkt onder XP. Nu windows 7 erbij is gekomen werkt hij alleen onder windows 7.
Onder XP geeft hij een fout dat hij de with niet kan vinden (nooit geweest bij zelfde code)
Code:
If rs.RecordCount = 0 Then

Nog vreemder is voordat ik wat wou aanpassen in de database heeft het zowel op XP als 7 gewerkt.
Deze aanpassing is in een form geweest, later deze weer verwijdert om te proberen maar mocht niet baten.

Heeft iemand nog ideeen???

Code:
Option Compare Database

Private Sub btnBev_Click()
WijzigWachtwoord
End Sub

Private Sub btnOk_Click()
If Toegang = True Then


WriteUserInfoToRegistry




DoCmd.OpenForm "Switchboard"
DoCmd.Close acForm, "frmLogin", acSaveNo



Else
Exit Sub
End If



End Sub

Sub WriteUserInfoToRegistry()
' saves information in the Registry to
' HKEY_CURRENT_USER\Software\VB and VBA Program Settings\TESTAPPLICATION
  On Error Resume Next
  SaveSetting "RELogin", "RELogin", "Loginnaam", Nz(Me.comboLogin, 0)
    SaveSetting "RELogin", "RELogin", "Groepid", Nz(Me.comboLogin.Column(1), 0)
  
    On Error GoTo 0
End Sub




Function Toegang() As Boolean
Dim sqlstring As String
Dim rs As ADODB.Recordset

Dim login As String
Dim wachtwoord As String
login = Nz(Me.comboLogin, 0)

If login = "" Then Exit Function
wachtwoord = Nz(Me.txtWachtwoord, 0)
If wachtwoord = "" Then Exit Function

sqlstring = "SELECT LoginNaam, ww FROM tblLoginNamen " & _
" WHERE LoginNaam=" & Chr$(34) & login & Chr$(34) & " and ww=" & Chr$(34) & wachtwoord & Chr$(34)

Set rs = RunSQL(sqlstring)
[B][U]If rs.RecordCount = 0 Then[/U][/B]
MsgBox "Wachtwoord niet juist!", vbCritical, "RE"
Toegang = False
Exit Function
Else
Toegang = True

End If


End Function

Function WijzigWachtwoord()
If Toegang = True Then
On Error GoTo weg
        If Me.txtnw1 <> Me.txtnw2 Then
        MsgBox "Wachtwoorden zijn niet gelijk.", vbCritical, "RE"
        Exit Function
        Else
        

    Dim sqlstring As String
    Dim rs As ADODB.Recordset
     
    sqlstring = "UPDATE tblLoginNamen SET ww = " & Chr$(34) & Me.txtnw1 & Chr$(34) & _
"  WHERE LoginNaam = " & Chr$(34) & Me.comboLogin & Chr$(34)
     

       Set rs = RunSQL(sqlstring)
 
 
        MsgBox "Wachtwoord gewijzigd, u wordt ingelogd.", vbInformation, "RE"
       DoCmd.OpenForm "Switchboard"
        DoCmd.Close acForm, "frmLogin", acSaveNo
        
        
        End If
End If




weg:
Exit Function


End Function


Private Sub Command7_Click()
Application.Quit
End Sub

Private Sub Command8_Click()
If Toegang = True Then
Me.txtnw1.Visible = True
Me.txtnw2.Visible = True
Me.btnBev.Visible = True

Me.lbl1.Visible = True
Me.lbl2.Visible = True
Else
Me.txtnw1.Visible = False
Me.txtnw2.Visible = False
Me.btnBev.Visible = False
Me.lbl1.Visible = False
Me.lbl2.Visible = False
End If



End Sub
 
Heb je gecontroleerd of "RS" wel een waarde bevat in XP na set=rs=...? als rs "NULL" blijft kun je deze error krijgen misschien.
 
Door in de stapmodus door de code te lopen. Ik zou in ieder geval ook de bibliotheken controleren; die zijn misschien ook anders. En probeer de db te compileren in het VBA venster; als er wat verkeerd zit, kom je dat op die manier ook tegen.
 
Gekeken maar mocht niet baten. Ben wel achter iets anders gekomen.
Als ik de wijzigingen maak op een windows 7 computer krijg ik deze problemen.
Ga ik naar een windows XP computer en importeer ik het frmlogin (zie code hierboven) van de vorige versie dan werkt hij overal.

Doe ik dit zelfde op windows 7 computer kunnen alleen de windows 7 computers hem openen. Op alle computers staat office 2007 32bit.
 
Het lijkt er op alsof er een andere Registry setting wordt gebruikt, wat natuurlijk goed zou kunnen. De registry van XP is niet hetzelfde als die van Windows 7. Probeer 'm eens zonder de registry, dus alleen met een check op tabelniveau.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan