PDA

View Full Version : [Access] come riferirsi ad un particolare record


rricom
30-10-2008, 11:31
Salve, ho una maschera con dei record, come si fa da visual basic ad accedere al valore di un particolare record? Es il n. x? Ho un contatore per ogni record e vorrei scrivere qualcosa del tipo

[nome_campo][record i] = [nome_campo][record i-i] (questa scritta naturalmente non va bene, da' errore)

Cioč voglio assegnare ad un record il valore di un altro es del precedente.
Come si fa?
Grazie

MarcoGG
31-10-2008, 10:17
L'unico modo sicuro di indirizzare un Record in Access ( e direi consigliabile in qualsiasi DB del mondo ) č la chiave primaria, nel tuo caso ( sfortunatamente ) un campo contatore.
Ammesso e non concesso che non vi siano "buchi" e che ogni record nella tabella abbia PK = PK+1 del precedente, puoi provare con qualcosa di simile a questo :

Dim numRecs As Long
numRecs = CurrentDb.OpenRecordset("SELECT COUNT(*) FROM Tabella1").Fields(0).Value
Dim val As Integer
Dim strCmd As String
Dim i As Long
i = 0
For i = 1 To numRecs
On Error Resume Next
val = DLookup("valore", "Tabella1", "id=" & i)
strCmd = "UPDATE Tabella1 SET valore = " & val & " WHERE id=" & CStr(i - 1)
DoCmd.SetWarnings (False)
DoCmd.RunSQL strCmd
Next i
;)