[VBA Access 97]Record navigatiefunctie binnen formulier

Pagina: 1
Acties:
  • 950 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Vraagstuk 1:

Ik heb de standaard navigatieknoppen van het formulier uitgeschakeld omdat ik m'n eigen navigatieknoppen wil gebruiken (vind ik strakker).

De volgende opdrachtknoppen heb ik ingevoerd:

eerste record: DoCmd.GoToRecord , , acFirst
vorige record: DoCmd.GoToRecord , , acPrevious
volgende record: DoCmd.GoToRecord , , acNext
laatste record: DoCmd.GoToRecord , , acLast

De standaard navigatiefunctie van access schakelt "vorige record" uit als het eerste record in beeld is en "volgende record" als het laatste in beeld is.

Welk stukje code moet ik er nog in plakken om hetzelfde effect te bewerkstelligen?

--------------------------------------------------------------------------------------

Vraagstuk 2:

Als ik de standaard "record verwijderen" functie van access aan een formulier opdrachtknop geef plakt ie daar de volgende code achter:


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70


Hij maakt de velden leeg maar er blijft een leeg record achter.
Hoe zorg ik er voor dat ie daadwerkelijk het record verwijdert en daarna een soort van set focus op het eerste record?

[ Voor 0% gewijzigd door Anoniem: 28483 op 24-10-2002 14:13 . Reden: layout aanpassing ]


Acties:
  • 0 Henk 'm!

  • n0kn0k
  • Registratie: Augustus 2002
  • Laatst online: 04-05 22:16
Vraagstuk 1: Ik denk dat je met de variabele Control.visible moet gaan werken. Zoek maar op visible in je help :)

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Control.Visible kent ie niet (variable niet gedefinieerd)
Naamvandeknop.Visible pakt ie wel (knop31.Visible)

dus het zou zoiets moeten worden als:
If "laatste record is bereikt" then knop31.Visible = False

Het gaat me nou net om het "laatste record is bereikt" gedeelte :)

Overigens, is het niet zo dat ie dan de complete knop verbergt ipv em uit te schakelen (grijs te maken en niet meer clickable) zeg maar?

Acties:
  • 0 Henk 'm!

Anoniem: 59762

met .enabled = false krijg je je grijze knopje.
met form.currentrecord krijg je je recordnummer als die 1 is sta je aan 't begin.

Acties:
  • 0 Henk 'm!

Anoniem: 53142

Vraagstuk 2

Je kunt onderstaande coderegel gebruiken om het formulier te actualiseren en naar het eerste record te springen. "Me" staat voor actieve formulier.

code:
1
me.requery

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Dit is nu de complete code achter de "Vorige record" knop:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Knop30_Click()
On Error GoTo Err_Knop30_Click


    DoCmd.GoToRecord , , acPrevious
    If Form.CurrentRecord = 1 Then Knop30.Enabled = False

Exit_Knop30_Click:
    Exit Sub

Err_Knop30_Click:
    MsgBox Err.Description
    Resume Exit_Knop30_Click
    
End Sub


Maar het werkt niet. Hij geeft geen foutmelding dus ik neem aan dat het VB code technische gezien wel goed zit.

Acties:
  • 0 Henk 'm!

Anoniem: 59762

Verander Form eens in Me
Dus: Me.Currentrecord = 1 ipv Form.Currentrecord = 1

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Anoniem: 53142 schreef op 24 oktober 2002 @ 15:27:
Vraagstuk 2

Je kunt onderstaande coderegel gebruiken om het formulier te actualiseren en naar het eerste record te springen. "Me" staat voor actieve formulier.

code:
1
me.requery
Hij zet de focus wel op het eerst record maar er blijft nog steeds een leeg record staan.

Vraagstuk1:
Heb even iets over het hoofd gezien, als ik op de "vorige" knop klik terwijl ie op record 1 staat geeft ie de melding:
[quote]
U kunt een besturingselement dat de focus heeft niet uitschakelen

Acties:
  • 0 Henk 'm!

Anoniem: 59762

zet de focus op de "volgende" knop voordat je 'm disabled.
code:
1
me.volgendeknop.setfocus

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Anoniem: 59762 schreef op 24 oktober 2002 @ 15:33:
Verander Form eens in Me
Dus: Me.Currentrecord = 1 ipv Form.Currentrecord = 1
Geeft ie nog steeds de melding uit mijn vorige post.

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
we zitten echt gigantisch langs elkaar heen te posten ;)

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Anoniem: 59762 schreef op 24 oktober 2002 @ 15:41:
zet de focus op de "volgende" knop voordat je 'm disabled.
code:
1
me.volgendeknop.setfocus
Eureka! B)
Nu werkt het.

Volgende euvel:
Als de "vorige" knop disabled is en je drukt de "volgende" knop in _blijft_ de "vorige" knop disabled :)

Acties:
  • 0 Henk 'm!

Anoniem: 59762

Tja, dan moet je ervoor zorgen dat als me.currentrecord <> 1 then me.vorigeknop.enabled = true.

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Heb het opgelost door Knop30.Enabled = True op de eerste regel van de code achter de "volgende" knop te zetten.

Stap 2:
Hoe geef ik aan dat ie bij het laatste record is, het eerste record geef je aan door "1", deze tabel bevat niet een vast aantal records, is hier een variabel voor oid?

Acties:
  • 0 Henk 'm!

Anoniem: 59762

Er is geen standaard variabele voor aantal records (zover ik weet)
je kan een recordsetclone maken van je formulier.
daarmee kan je opvragen hoeveel records je hebt in je form.
Vergelijk die met je currentrecord en je weet of je aan 't einde bent.

code:
1
2
3
4
5
6
dim rst as recordset, lastrecord as integer
set rst = me.recordsetclone
rst.movelast
lastrecord = rst.recordcount
rst.close
set rst = nothing


hiermee heb je het aantal records, nu moet je dus nog even de code maken net zoals voor de 'vorige' knop.

Success !

Acties:
  • 0 Henk 'm!

  • n0kn0k
  • Registratie: Augustus 2002
  • Laatst online: 04-05 22:16
Anoniem: 28483 schreef op 24 oktober 2002 @ 14:32:
Control.Visible kent ie niet (variable niet gedefinieerd)
Naamvandeknop.Visible pakt ie wel (knop31.Visible)

dus het zou zoiets moeten worden als:
If "laatste record is bereikt" then knop31.Visible = False

Het gaat me nou net om het "laatste record is bereikt" gedeelte :)

Overigens, is het niet zo dat ie dan de complete knop verbergt ipv em uit te schakelen (grijs te maken en niet meer clickable) zeg maar?
Jah dat bedoel ik ook :p de control die je gebruikt en dan .visible

edit: grijs maken is idd iets netter :p

Maarja ik was net wakker :p

Acties:
  • 0 Henk 'm!

  • mauriceb
  • Registratie: Maart 2001
  • Laatst online: 20:47
Met
code:
1
Me.Recordset.RecordCount
vind je het aantal records. Tenminste in Access 2000. En

code:
1
Me.Recordset.Delete
verwijderd een record.

Acties:
  • 0 Henk 'm!

Anoniem: 59762

mauriceb schreef op 24 oktober 2002 @ 16:19:
Met
code:
1
Me.Recordset.RecordCount
vind je het aantal records. Tenminste in Access 2000
In Access 97 werkt dit inderdaad niet.
Geeft 2000 dan ook het correcte aantal records terug ? Bij grote tabellen kan je dan nl leuke problemen krijgen omdat access niet alle records vooruitleest :)

Acties:
  • 0 Henk 'm!

  • mauriceb
  • Registratie: Maart 2001
  • Laatst online: 20:47
Anoniem: 59762 schreef op 24 oktober 2002 @ 16:23:
[...]
Geeft 2000 dan ook het correcte aantal records terug ? Bij grote tabellen kan je dan nl leuke problemen krijgen omdat access niet alle records vooruitleest :)
Dit is ook een fout die in 97 kan ontstaan. Dit is op te lossen door
code:
1
2
Recordset.MoveLast
Recordset.MoveFirst
te doen.

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Als ik het goed begrijp moet ik achter de "volgende" knop het volgende zetten:

(in simpele taal)
tel aantal records
aantal = last
als record = last "volgende" knop enabled = false

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
mauriceb schreef op 24 oktober 2002 @ 16:19:
code:
1
Me.Recordset.Delete
verwijderd een record.
Werkt niet.
Hij geeft de melding:
Kan de methode of het gegevenslid niet vinden

Acties:
  • 0 Henk 'm!

Anoniem: 59762

MauriceXXX welke versie van Access gebruik je ?

Acties:
  • 0 Henk 'm!

Anoniem: 53142

Anoniem: 28483 schreef op 24 oktober 2002 @ 17:11:
[...]

Werkt niet.
Hij geeft de melding:
Kan de methode of het gegevenslid niet vinden
recordSet is een object; onderstaande code verwijdert het record dat op het formulier zichtbaar is. Vervang ID door de naam van de primairy key.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Command5_Click()
If Not IsNull(Me.ID.Value) Then
  
  Dim dbs As Database
  Dim rst As Recordset
  Set dbs = CurrentDb
  Set rst = dbs.OpenRecordset("select * from " & Me.RecordSource & " where ID=" & Me.ID.Value)
  
  rst.Delete
  
  rst.Close
  dbs.Close
  Set rst = Nothing
  Set dbs = Nothing
  Me.Requery
  
Else
    MsgBox "Geen actief record"
End If
End Sub

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Knop27_Click()
    
    If Not IsNull(Me.HwRegNum.Value) Then
  
    Dim dbs As Database
    Dim rst As Recordset
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("select * from " & Me.RecordSource & " where ID=" & Me.HwRegNum.Value)
  
    rst.Delete
  
    rst.Close
    dbs.Close
    Set rst = Nothing
    Set dbs = Nothing
    Me.Requery
  
Else
    MsgBox "Geen actief record"
End If
End Sub

Hij geeft een fout op regel 8:
"Too few parameters. Expexted 2"

Acties:
  • 0 Henk 'm!

  • KeeZ
  • Registratie: Februari 2001
  • Laatst online: 25-04-2022

KeeZ

Deze plek is te koop.

ik werk zelf met een Jet aansturing voor een access 97 database.

de volgende code komt dan bij mij naar voren bij de vorige knop:

code:
1
2
3
4
5
6
7
if not data1.recordset.bof then
     data1.recordset.movenext
     if data1.recordset.bof then
          data1.recordset.movenext
          msgbox("Dit is het eerste record",vbinformation,"Info...")
     end if
end if


zo werkt het met een Jet database wel goed,

BOF staat dus voor begin of file...

ik hoop dat je hier wat mee kan

Deze plek is te koop.


Acties:
  • 0 Henk 'm!

  • mauriceb
  • Registratie: Maart 2001
  • Laatst online: 20:47
Ja, die foutmelding zie ik ook regelmatig, meestal zit er iets verkeert in het select gedeelte.

Als je de select in een strSingQL zet dan kun je deze bekijken tijdens runtime en controleren of de select wel klopt. Dus dit toevoegen / wijzigen:

code:
1
2
3
4
Dim strSQL as String

strSQL = "SELECT * FROM " & Me.RecordSource & " WHERE [ID] = " & _ 
Me.HwRegNum.Value


Verder als ID een tekst veld is moet de voorwaarde tussen aanhalingstekens staan...

Acties:
  • 0 Henk 'm!

Anoniem: 59762

mauriceb schreef op 25 oktober 2002 @ 11:13:

...

code:
1
2
3
4
Dim strSQL as String

strSQL = "SELECT * FROM " & Me.RecordSource & " WHERE [ID] = " & _ 
Me.HwRegNum.Value
Dit werkt dus alleen als je je formulier baseerd op een tabel en niet op een query die niet opgeslagen is. Hou daar dus rekening mee :)

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
ErikvSon: 1: welke acces versie ik heb, check de topic titel.
2: Het formulier is gebaseerd op een tabel.
Keez:de "Vorige" knop heb ik al aan de praat, dat was het probleem niet
Werkt dat BOF gebeuren overigens ook andersom? EOF -> end of file??
MauriceB: wat is ID dan?? dat is iets waar underscore12 mee kwam (page1)
Hij vermeld daar dat ID vervangen moet worden door mijn primaire sleutel, is dat ook van toepassing op dat stukje?

Acties:
  • 0 Henk 'm!

  • mauriceb
  • Registratie: Maart 2001
  • Laatst online: 20:47
Anoniem: 59762 schreef op 25 oktober 2002 @ 11:18:
[...]
Dit werkt dus alleen als je je formulier baseerd op een tabel en niet op een query die niet opgeslagen is. Hou daar dus rekening mee :)
Tip: Het is altijd beter om een tabel of een opgeslagen query toe te kennen dan een query die niet is opgeslagen, vanwege de performance... ;)

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
mauriceb: het is me ook niet duidelijk wel gedeelte ik nu moet aanpassen/vervangen.

Jouw code:
Dim strSQL as String
strSQL = "SELECT * FROM " & Me.RecordSource & " WHERE [ID] = " & _
Me.HwRegNum.Value

Underscore12's code:
If Not IsNull(Me.HwRegNum.Value) Then

Dim dbs As Database
Dim rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("select * from " & Me.RecordSource & " where ID=" & Me.HwRegNum.Value)

rst.Delete

rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
Me.Requery

Else
MsgBox "Geen actief record"
End If
End Sub

[ Voor 0% gewijzigd door Anoniem: 28483 op 25-10-2002 11:30 . Reden: leesbaarheid verhoging ]


Acties:
  • 0 Henk 'm!

  • mauriceb
  • Registratie: Maart 2001
  • Laatst online: 20:47
Anoniem: 28483 schreef op 25 oktober 2002 @ 11:26:

Keez:de "Vorige" knop heb ik al aan de praat, dat was het probleem niet
Werkt dat BOF gebeuren overigens ook andersom? EOF -> end of file??
Niet aan mij gericht O-) maar toch: ja, EOF bestaat ook...
MauriceB: wat is ID dan?? dat is iets waar underscore12 mee kwam (page1)
Hij vermeld daar dat ID vervangen moet worden door mijn primaire sleutel, is dat ook van toepassing op dat stukje?
Een sleutelveld is een unieke waarde in de tabel. Hiermee kun je dus je record identificeren...

Edit: Even de code "herschreven".
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim strSQL as String
Dim dbs As Database
Dim rst As Recordset

If Not IsNull(Me.HwRegNum.Value) Then

 strSQL = ("SELECT * FROM " & Me.RecordSource & " _ 
            WHERE [ID] = " & Me.HwRegNum.Value)
 Set dbs = CurrentDb
 Set rst = dbs.OpenRecordset(strSQL)

 rst.Delete

 rst.Close
 dbs.Close
 Set rst = Nothing
 Set dbs = Nothing
 Me.Requery

Else
 MsgBox "Geen actief record"
End If

Acties:
  • 0 Henk 'm!

Anoniem: 59762

Anoniem: 28483 schreef op 24 oktober 2002 @ 14:11:
Vraagstuk 1:

Ik heb de standaard navigatieknoppen van het formulier uitgeschakeld omdat ik m'n eigen navigatieknoppen wil gebruiken (vind ik strakker).

De volgende opdrachtknoppen heb ik ingevoerd:

eerste record: DoCmd.GoToRecord , , acFirst
vorige record: DoCmd.GoToRecord , , acPrevious
volgende record: DoCmd.GoToRecord , , acNext
laatste record: DoCmd.GoToRecord , , acLast

De standaard navigatiefunctie van access schakelt "vorige record" uit als het eerste record in beeld is en "volgende record" als het laatste in beeld is.

Welk stukje code moet ik er nog in plakken om hetzelfde effect te bewerkstelligen?

--------------------------------------------------------------------------------------

Vraagstuk 2:

Als ik de standaard "record verwijderen" functie van access aan een formulier opdrachtknop geef plakt ie daar de volgende code achter:


DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70


Hij maakt de velden leeg maar er blijft een leeg record achter.
Hoe zorg ik er voor dat ie daadwerkelijk het record verwijdert en daarna een soort van set focus op het eerste record?
MauriceXXX wat heb je nu al werkend en wat werkt er nog niet ?
Neem aan dat je nog problemen hebt om het huidige record te verwijderen, gezien de posts

Acties:
  • 0 Henk 'm!

Anoniem: 53142

Voeg eens deze regel toe
code:
1
msgbox strSQL

onder strSQL="blabla"

Zie ook: [rml][ Access/VBA]Record verwijderen[/rml]

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
ErikvSon:
Vraagstuk1
Werkend:
eerste record
vorige record

Niet werkend:
volgende record: ik wil dat ie die knop disabled zodra ie bij het laatste record is
Laatste record: zelfde verhaal

Vraagstuk 2
Verwijderen werkt nog niet, ben ik nu mee bezig mbv het andere topic

Underscore12: Ik neem aan dat ik in dit stukje code iets moet veranderen, weet alleen niet precies wat.

code:
1
2
3
mySQL = "Select * FROM tblAdresSoort WHERE ads_ID= " & Me.ads_ID
            Set dbs = CurrentDb
            Set rst = dbs.OpenRecordset(mySQL)


de tabel heet: Apparaten
de primaire sleutel is: HwRegNum

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Hij geeft bij mauriceb's code een fout op deze regel:
Set rst = dbs.OpenRecordset(strSQL)

de msgbox zegt het volgende:
code:
1
SELECT * FROM APPARATEN WHERE _ [ID] = gdfg


"gdfg" staat in het primaire sleutelveld (HwRegNum)
Als testinvoer, je moet iets invoeren om het te kunnen verwijderen :P

Verder zie ik nu de bomen door het bos niet meer met al die code 8)7
Vind het wel vet wat die gast in het andere topic heeft gedaan met een eigen MsgBox enzo

Acties:
  • 0 Henk 'm!

Anoniem: 59762

Ik neem aan dat je bedoelt dat je een msgbox krijgt voor bevestiging van het deleten ?
Is niet zo heel moeilijk.
code:
1
2
3
4
5
If MsgBox("Do you want to delete this record",vbYesNo, "Delete") = vbYes Then
  DoCmd.SetWarnings False ' om geen melding te krijgen bij het deleten
  docmd.runsql "DELETE * FROM Apparaten WHERE HWregNUM = " & Me![hwregnum])
  DoCmd.SetWarnings true
end if

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Ik heb de code geript uit het andere topic en het volgende gedeelte aangepast:


Origineel:
'Ophalen uit de database om de recordset te vullen
mySQL = "Select * FROM tblAdresSoort WHERE ads_ID= " & Me.ads_ID
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(mySQL)

Aangepast:
'Ophalen uit de database om de recordset te vullen
mySQL = "Select * FROM Apparaten WHERE HwRegNum= " & Me.HwRegNum
MsgBox mySQL
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(mySQL)

En het werkt nog niet :|
Ik krijg de MsgBox in beeld, klik "ja"
en dan komt de melding:
"too few parameters. Expected 1"

Acties:
  • 0 Henk 'm!

Anoniem: 53142

SELECT * FROM APPARATEN WHERE _ [ID] = gdfg

Het veld hwregnum, impliceert dat het van het type number is (num), maar er staat als waarde "gdfg" in. Het type is dus text en geen number. Dit betekent dat je de strSQL of mySQL moet aanpassen. Let op de extra ' ervoor en erachter.

mySQL = "Select * FROM Apparaten WHERE [HwRegNum]='" & Me.HwRegNum & "'"

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Het verwijderen heb ik inmiddels wat simpeler opgelost.
In principe doet dit het ook wel goed:

Visual Basic .NET:
1
2
3
4
5
6
7
8
On Error GoTo Err_Knop33_Click
    If MsgBox("Do you want to delete this record", vbYesNo, "Delete") = vbYes Then
    DoCmd.SetWarnings False ' om geen melding te krijgen bij het deleten
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
    Me.Requery
    DoCmd.SetWarnings True
End If

Maar nog bedankt voor alles suggesties en het sturen naar de goede richting.

Het grootste probleem zit em bij mij nu nog in Vraagstuk 1

De "volgende" knop en "laatste" knop
Kan ik iets met dat "EOF" om te checken of ie bij het laatste record is zodat ie de knop disabled.

Overigens werkt dit ook niet voor de "vorige" knop:
Visual Basic .NET:
1
2
3
4
5
6
7
if not data1.recordset.bof then
     data1.recordset.movenext
     if data1.recordset.bof then
          data1.recordset.movenext
          msgbox("Dit is het eerste record",vbinformation,"Info...")
     end if
end if

Hij zegt dat de variabele data1 niet gedefineerd is.
Of moet dat een object in mijn database zijn?

Acties:
  • 0 Henk 'm!

Anoniem: 59762

Anoniem: 59762 schreef op 24 oktober 2002 @ 15:59:
Er is geen standaard variabele voor aantal records (zover ik weet)
je kan een recordsetclone maken van je formulier.
daarmee kan je opvragen hoeveel records je hebt in je form.
Vergelijk die met je currentrecord en je weet of je aan 't einde bent.

code:
1
2
3
4
5
6
dim rst as recordset, lastrecord as integer
set rst = me.recordsetclone
rst.movelast
lastrecord = rst.recordcount
rst.close
set rst = nothing


hiermee heb je het aantal records, nu moet je dus nog even de code maken net zoals voor de 'vorige' knop.

Success !
Ik dacht dat ik je met bovenstaande toch aardig op de goede weg had geholpen ???

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Okay, dat stukje code kijkt dus of ie bij het laatste record is.
Hoe dan verder?

Moet ik daar een If statement van maken?
IF "waarde uit jouw stukje code dat aangeeft dat we bij de laatste record zijn" = true THEN VolgendeKnop.Enabled = False

zoiets???

Acties:
  • 0 Henk 'm!

Anoniem: 59762

if me.currentrecord = laatsterecord then disable volgende knop

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Okay dan! Het werkt!

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
Knop30.Enabled = True
    DoCmd.GoToRecord , , acNext
    
    Dim rst As Recordset, lastrecord As Integer
    Set rst = Me.RecordsetClone
    rst.MoveLast
    lastrecord = rst.RecordCount
    rst.Close
    Set rst = Nothing
    
    Me.Knop30.SetFocus
    If Me.CurrentRecord = lastrecord Then Knop31.Enabled = False


Thanx!!

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Vraagstuk 3: :D
Is het mogelijk om tijdens het laden van het formulier VBA code uit te voeren?
Ik wil dus dat de "vorige" knop disabled is als het formulier geladen is.

Acties:
  • 0 Henk 'm!

Anoniem: 59762

In de form_load kan je de code neerzetten omdat te doen

Acties:
  • 0 Henk 'm!

Anoniem: 28483

Topicstarter
Okay, thanx. :)

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:58
Jammergenoeg voor de topicstarter is P&W geen helpdesk. Misschien moet je je maar zelf eens wat meer in de materie gaan verdiepen ipv voor alle dingen die je niet weet - maar wel in de manual kunt opvragen - een vraag te posten.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.