Newsgroup: it.comp.appl.access
Titolo: Ciclo Problema identificazione singolo record con parametro data (inserito in un ciclo For Next)

Set rper = dbs.OpenRecordset("PERIODOSLCT")
Set rcostislct = dbs.OpenRecordset("COSTISLCT")
Set rconf = dbs.OpenRecordset("CONFRONTO")
Set PERSLCT = dbs.OpenRecordset("PERIODOSLCT")
 
totgg = PERSLCT!PERAL - PERSLCT!PERDAL
 
For w = 0 To totgg
 
 
Set rcosticont = dbs.OpenRecordset("SELECT * FROM QREPCONFCOSTI00 WHERE GIORNO = #" & PERSLCT!PERDAL.Value + w & "# AND CDCCCONTRO = " & rconf!CDCCCONTRO)                                                                          
If Not rcosticont.EOF Then
rcosticont.MoveLast
rcosticont.MoveFirst
 
 
Set rconfmod = dbs.OpenRecordset("SELECT * FROM CONFRONTO WHERE CDCCCONTRO = " & rconf!CDCCCONTRO & " AND NUMPER = 99")
 
With rconfmod
.Edit
!TOTIMP01 = 0 + IIf(IsNull(rcosticont!TOTIMP) = True, 0, rcosticont!TOTIMP) + IIf(IsNull(rconf!TOTIMP01) = True, 0, rconf!TOTIMP01)
!TOTIMPN01 = 0 + IIf(IsNull(rcosticont!TOTIMPN) = True, 0, rcosticont!TOTIMPN) + IIf(IsNull(rconf!TOTIMPN01) = True, 0, rconf!TOTIMPN01)
.Update
.Bookmark = .LastModified
End With
 
Else
 
With rconfmod
.Edit
!TOTIMP01 = 0 + IIf(IsNull(rcosticont!TOTIMP) = True, 0, rcosticont!TOTIMP) + IIf(IsNull(rconf!TOTIMP01) = True, 0, rconf!TOTIMP01)
!TOTIMPN01 = 0 + IIf(IsNull(rcosticont!TOTIMPN) = True, 0, rcosticont!TOTIMPN) + IIf(IsNull(rconf!TOTIMPN01) = True, 0, rconf!TOTIMPN01)
.Update
.Bookmark = .LastModified
End With
 
 
End If
Next w
 
Set rconfmod = dbs.OpenRecordset("SELECT * FROM CONFRONTO WHERE CDCCCONTRO = " & rconf!CDCCCONTRO & " AND NUMPER = 99")
 
IF Not rconfmod.EOF Then
With rconfmod
.Edit
!NUMPER = PERSLCT!NUMPER
.Update
.Bookmark = .LastModified
End With
End If


Scusate, m'è sfuggito l'invio: allora, come potete leggere ho un problema di identificazione record; premetto che tutti i vari oggetti sono dichiarati (recordset, databases, variabili numeriche e quant'altro) però accade una cosa strana: 
L'espressione (rcosticont) che va a cercare sulla query QREPCONFCOSTI00 di incrociare PERSLCT!PERDAL e rconf!CDCCCONTRO produce sistematicamente una errore, saltando le date dal 4 del mese al 12 dello stesso mese: non capisco proprio che succede ... non saprei essere più specifico, ma ho controllato e questo stesso errore si ripropone anche per periodi più lunghi.
Considerate che per farla più semplice e levarmi dati che potevano confondermi, ho ridotto rconf (la tabella CONFRONTO) a un singolo record.
Se dovessero servirvi ulteriori aggiornamenti, fatemi sapere.
Grazie per l'aiuto !

 Grazie per l'aiuto !
 
 
Probabilmente � un problema di formato data, confonde le date formato 
italiano giorno/mese/anno con quelle anglosassoni mese/giorno/anno.
Usa il formato anno-mese-giorno che sicuramente non ti dar� problemi.
 
In tutti i posti dove hai delle date
  WHERE GIORNO = #" & PERSLCT!PERDAL.Value + w & "# AND
sostituiscile cos�:
  WHERE GIORNO = #" & format(PERSLCT!PERDAL.Value + w,"yyyy-mm-dd") & "#
AND
 
Ciao.
-Marco-
 
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it