PDA

Visualizza versione completa : [access] funzione msgbox


smart_1976
24-06-2008, 16.21.02
Ciao a tutti, ho una maschera di ricerca chiamata RICERCA_ED che al clic di un pulsante esegue il seguente codice:

Private Sub Comando3_Click()
On Error GoTo Err_Comando3_Click
On Error GoTo ErrNoData

If Len(Me!Testo0 & "") = 0 Then
MsgBox "ATTENZIONE, INSERIRE IL TESTO DA RICERCARE", vbInformation + vbOKOnly, "ATTENZIONE"

Else
Dim stDocName As String
Dim stLinkCriteria As String


stDocName = "Elenco_Dipendenti"
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormReadOnly
Me!Ricerca.Value = Null
End If
Exit_Comando3_Click:
Exit Sub

Err_Comando3_Click:
MsgBox Err.Description
Resume Exit_Comando3_Click
ErrNoData:
If Err.Number = 2501 Then Resume Next 'oppure Exit Sub

End Sub

Tale codice mi permette di aprire una maschera, chiamata Elenco_Dipendenti, filtrata in base ad un criterio inserito in una query. Su apertura di questa maschera ho questo codice:

Private Sub Form_Open(Cancel As Integer)

Dim retValue As Integer
Dim strTtl As String
Dim strMsg As String
strTtl = "ATTENZIONE!"
strMsg = "L'UTENTE" & RICERCA_ED!Ricerca & " E' INESISTENTE, VUOI AGGIUNGERLO?"

If Me.RecordsetClone.RecordCount = 0 Then
retValue = MsgBox(strMsg, vbQuestion + vbYesNo, strTtl)

Select Case retValue

Case vbYes

DoCmd.OpenForm "Elenco_Dipendenti", acNormal, , , acFormAdd

Cancel = True
Case vbNo
Cancel = True
End Select
End If

End Sub

Mi piacerebbe sapere come fare, tramite una msgbox a sapere il numero di record trovati in base alla ricerca effettuata. Spero di essere stato chiaro. Ringrazio anticipatamente.

miciomao
24-06-2008, 21.48.34
puoi invocare DCount

Dim NrRec As Integer

NrRec = DCount("*", "NomeDellaTuaQuery")

MsgBox "Trovati " & NrRec & " record!"

smart_1976
25-06-2008, 07.17.06
ma chi sei?????? un Geniooooooooo!!!!!! grazie...ho avuto tanti, anzi tantissimi suggerimenti ma non ho ottenuto il risultato che ho ricevuto grazie al tuo consiglio.

miciomao
25-06-2008, 09.15.03
grazie

un'altra cosa

io cambierei

If Len(Me!Testo0 & "") = 0

in

If Len(Trim(Nz(Me!Testo0))) < N 'dove N Ŕ il numero minimo di caratteri che vuoi far inserire dall'utente

quindi il msgbox sarÓ.

attenzione: inserire nel campo ricerca almeno N caratteri

spiego brevemente

Trim: Elimina caratteri di spazio all'inizio e alla fine del testo
Nz: Restituisce 0 quando un valore di tipo stringa o Variant Ŕ Null, tu aggiungi & "" per non fartelo restituire

Ciao Alex

smart_1976
25-06-2008, 09.58.16
ok...grazie ancora