Hoi Tweakers,
In mijn VB6-applicatie doe ik het volgende: ik heb een formulier waarin gegevens ingevoerd kunnen worden, waarna ze opgeslagen worden in een MS Access-tabel.
Tijdens de invoer wil ik graag vermelden welk autonummer aan de nieuwe gegevens wordt toegekend. Het laatste autonummer haal ik op met de volgende code:
De tabel Detectoren bevat op dit moment nog geen gegevens, toch is het statement "If rRst.RecordCount > -1 Then..." altijd waar, aangezien MS Access standaard het autonummer 1 toekent aan het eerste record, ook al is het leeg.
Op welke manier zou ik anders kunnen controleren of de tabel leeg is?
In mijn VB6-applicatie doe ik het volgende: ik heb een formulier waarin gegevens ingevoerd kunnen worden, waarna ze opgeslagen worden in een MS Access-tabel.
Tijdens de invoer wil ik graag vermelden welk autonummer aan de nieuwe gegevens wordt toegekend. Het laatste autonummer haal ik op met de volgende code:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| Public Function ophalenBeschikbaarDetectorID() As Long Dim sSql As String Dim rRst As New ADODB.Recordset 'SQL-statement: sSql = "select Max(DetectorID) as MaxDetectorID" & _ " from Detectoren" 'SQL-statement uitvoeren: rRst.Open sSql, modDatabaseConnectie.gConn, adOpenStatic, adLockOptimistic 'Het eerste beschikbare detectornummer is gelijk aan laatste detectornummer + 1: If rRst.RecordCount > -1 Then ophalenBeschikbaarDetectorID = rRst("MaxDetectorID") + 1 Else 'De tabel Detectoren bevat nog geen gegevens: ophalenBeschikbaarDetectorID = 1 End If 'Sluiten: rRst.Close 'Opruimen: Set rRst = Nothing End Function |
De tabel Detectoren bevat op dit moment nog geen gegevens, toch is het statement "If rRst.RecordCount > -1 Then..." altijd waar, aangezien MS Access standaard het autonummer 1 toekent aan het eerste record, ook al is het leeg.
Op welke manier zou ik anders kunnen controleren of de tabel leeg is?