vincoll ha scritto:
Purtroppo credo di non avere compreso quando parli di Tag
Significa che devi racchiudere il codice tra tag [ CODE ] e [ / CODE] (senza gli spazi, altrimenti non riusciresti a leggerlo adesso) in modo che il codice risulti formattato in questo modo (l'indentazione l'ho aggiunta io)
Public Sub TestIntermedio()
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim OreAssegnate As Integer
Dim Materia As Variant
Dim Contatore As Integer
Dim IDCalendario As Variant
Dim Data As Date
Dim UltimoGiorno As String
Set db = CurrentDb
Set rs = db.OpenRecordset("DataTestIntermedio", dbOpenDynaset)
Contatore = 0
Do Until rs.EOF
Contatore = Contatore + 1
rs.Edit
IDCalendario = rs.Fields("IDCalendario")
OreAssegnate = rs.Fields("Ore")
Materia = rs.Fields("IDMateria")
intero = Int(OreAssegnate / 2)
If Contatore = 1 Then
rs!UltimoGiorno = "INIZIALE"
ElseIf Contatore = Int(OreAssegnate / 2) And OreAssegnate > 30 Then
rs!UltimoGiorno = "INTERMEDIO"
ElseIf Contatore = OreAssegnate Then
rs!UltimoGiorno = "FINALE"
Contatore = 0
Else: rs!UltimoGiorno = ""
End If
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Exit Sub
DoCmd.Close acQuery, "DataTestIntermedio"
End Sub
vincoll ha scritto:
ed il fatto che il codice andrebbe in transazione.
Tante per capire di cosa si parla
Dove richiami quella sub? Forse c'è un problema nel codice chiamante.
Ci sono righe apparentemente inutili
IDCalendario = rs.Fields("IDCalendario")
...
Materia = rs.Fields("IDMateria")
visto che non usi mai IDCalendario e Materia. Lo diventano anche le dichiarazione delle relative variabili come pure le due variabili Data e UltimoGiorno.
Chiudi e distruggi anche db
rs.Close
db.Close
Set rs = Nothing
Set db = Nothing
Si tratta di un db diviso in FE e BE? Multiutenza con accesso concorrente?
Pubblica anche la SQL della query "DataTestIntermedio". Quanti record ha quella query quando "aperta normalmente"?