Waarde van veld verhogen met +1 lukt niet

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
Programmeurs,

Ik probeer een SQL uit te voeren maar ik ga ergens de boot in. Ondanks mn Google skills kan ik er maar niet achter komen waar de fout zit.

Wat ik wil is de waarde (standaardwaarde 0) verhogen met +1 elke keer als er een verkeerd wachtwoord is ingevoerd in het login scherm. Stap twee is dan het wachtwoord resetten als de count 3 heeft bereikt, maargoed zover kom ik niet eens.

Code:
Dim strSQL As String
With CurrentDb.OpenRecordset("SELECT InlogCount FROM TBLinlogMenu", , acEdit)
strSQL = "Update TBLinlogMenu Set Groep.InlogCount = Groep.InlogCount +1 Where Groep = " & Me.CBOinlogNaam.Value & ";"
DoCmd.RunSQL strSQL
End With

Iemand ideeen waar ik de mist in ga ?
 
Waarom haal je de inlogteller uit een tabel? Ik neem toch aan dat je wilt tellen vanaf het moment dat een persoon probeert in te loggen, en dus niet van het formulier af komt als het wachtwoord niet klopt. Je kunt Me.InlogCount dus gewoon met 1 ophogen zonder tabel (en dus zonder sql)
 
Er moeten nog wat quotes om de where string , alleen bij een numerieke waarde kan je die weglaten.
Gr. JanvP

Code:
Dim strSQL As String
Dim cq as string 
cq=""""
 With CurrentDb.OpenRecordset("SELECT InlogCount FROM TBLinlogMenu", , acEdit) 
  strSQL = "Update TBLinlogMenu Set Groep.InlogCount = Groep.InlogCount +1 "& _ 
  "Where  Groep = " & cq & Me.CBOinlogNaam.Value & cq &  ";"
 DoCmd.RunSQL strSQL 
End With
 
Die string kan een stuk simpeler, zonder extra variabele:
Code:
strSQL = "Update TBLinlogMenu Set Groep.InlogCount = Groep.InlogCount +1 Where Groep = '" & Me.CBOinlogNaam.Value & "'"
Mocht je 'm echt nodig hebben ;)
 
Ik wil die waarde opslaan om ervoor te zorgen dat als de teller op drie komt te staan de loginnaam (of het password zelf) op non actief komt te staan. ofwel een time-out geven (drie onsuccesvolle loggins = 15 minuten geen toegang) of iets dergelijks.

Bedankt allebij, ik zal de codes zondag ff testen als ik op mn werk ben, ik laat even weten of het resultaat gelukt is ;)

Goed weekend !
 
Ok dit is vaag, Ik krijg de melding dat "the field is not updatable" (error 3113)
Als ik erop google dan heeft dat iets met linked tabellen te maken, maar zover als ik weet is mijn tabel gewoon een normale tabel.

Buiten dat, is een ander veld in dezelfde tabel wel updateable, namelijk het wachtwoord veld. Ik heb een password change formulier wat wel het wachtwoord veld update..

Update : Zo te zien heeft het te maken met het nog open zijn van een andere recordset zoals http://support.microsoft.com/kb/172617 hier beschreven.

Ik heb inderdaad een aanroep van een recordset in de code, en heb geprobeerd die te sluiten, maar het wil nog steeds niet lukken
 
Laatst bewerkt:
Pfff er zat in de tabel een recordvergrendeling op, nadat ik deze had opgeheven kon ik het wel updaten.
Die had ik ingesteld bij een test op een ander probleem.

Amateur fout zeg hahaha, maargoed ik ben ook geen pro ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan