Domanda

qui è una porzione di codice che sto usando per abilitare il tasto / a disabilitare (che permette di creare una nuova revisione) a seconda del risultato.

Se le DB.CONTA.NUMERI restituisce 0, significa che la revisione successiva non esiste ancora (e quindi possono essere creati) se i DB.CONTA.NUMERI restituisce 1, significa che esiste già la prossima revisione (e quindi il tasto sarà disattivato)

DCount("index_rit", "t_données_rit", "[RITn°]=" & Me.RITn°.Value & " AND [Revision]=" & Me.Revision.Value + 1)

Il mio problema è che per qualche motivo, anche se un record corrisponde ai valori inseriti nel DCount, restituisce ancora 0.

Ho provato sia con la formica senza il [] per i campi.
Ho anche provato ad utilizzare * invece di index_rit ...

Quello che ho ricevuto sbagliato?

È stato utile?

Soluzione

ottenuto. si trattava di un problema di formato: RITn ° è della forma xx-xx, così ho dovuto mettere in questo modo:

"[RITn°]='" & Me.RITn°.Value & "' AND [Revision]=" & Me.Revision.Value + 1)

(aggiunge le virgolette singole)

Altri suggerimenti

Per prima cosa è che il DCount (e altre funzioni ‘D’) sono generalmente considerati di essere un po 'una seccatura prestazioni. Provare a sostituire con questa funzione rapida. Basta passarlo una query e restituirà il record count

Private Function GetRecordCount(strSearch as String) as Long
Dim rst As ADODB.Recordset
Dim RecCount As Long

Set rst = New ADODB.Recordset

With rst
   .ActiveConnection = CodeProject.Connection
   .CursorType = adOpenForwardOnly
   .LockType = adLockReadOnly
   .Source = strSearch
   .Open Options:=adCmdText
   if .EOF = true then
        RecCount=0
   else
        RecCount=.Collect(0)
   End If

   .Close
End With

GetRecordCount = RecCount

Set rst = Nothing

End Function

Questo utilizza ADO, ma potrebbe / dovrebbe utilizzare DAO se si sta solo utilizzando le tabelle di Access, ma questa è un'altra questione per un'altra volta!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top