Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

[ACCESS - VBA] Funzione ricerca duplicati in una form

  1. #1
    windswalker non è in linea Scolaretto
    Ho un problema con questa funzione, o meglio: utilizzo già (con successo) una funzione che effettua una ricerca di duplicati di un valore inserito nella form nella tabella che va ad alimentare. Il codice funzionante è questo:

    Private Sub P_IVA_AfterUpdate()
    Dim DBS As Database
    Dim rst As Recordset
    Dim STRSQL As String
    Set DBS = CurrentDb()
        STRSQL = "SELECT p_iva FROM tbd_Elenco_Generale"
        STRSQL = STRSQL & " WHERE p_iva = """ & P_IVA.Value & """"
        Set rst = DBS.OpenRecordset(STRSQL)
    If rst.RecordCount > 0 Then
         MsgBox "ATTENZIONE! La partita iva inserita è già presente nel database.", vbExclamation, "AVVISO"
    End If
    End Sub
    
    Il problema è che il campo partita iva è un campo stringa (in quanto altrimenti perderei gli zeri antecedenti il primo numero), mentre adesso mi trovo nella necessità di applicare la stessa funzione ad un campo numerico.
    Il problema sarebbe banale, se non avessi utilizzato bovinamente la routine di cui sopra senza capirne il reale funzionamento.......
    Ho trovato anche questa funzione sul sito comune scritta dal preparatissimo Alessandro Baraldi, che dovrebbe andar bene alle mie esigenze, ma non ho idea di come utilizzarla dopo averla inserita in un modulo.......
    Ultima modifica di windswalker; 09-05-2008 16:52 

  2. #2
    L'avatar di dragone bianco
    dragone bianco non è in linea Certosino
    ti basta modificare questo passaggio

    STRSQL = STRSQL & " WHERE p_iva = """ & P_IVA.Value & """"
    
    così
    STRSQL = STRSQL & " WHERE p_iva = " & P_IVA.Value
    
    Ciao
    ℹ️ Leggi di più su dragone bianco ...

  3. #3
    hotrock non è in linea Scolaretto
    Ciao,non so se può essere utile usare Dcount...vedi tu.
    così funziona.

    Dim sSQL As String
    Dim sNomeCampo As String
    Dim sNomeTabella As String
    Dim NR As Integer

    sNomeCampo = "NomeDelCampo"
    sNomeTabella = "NomeDellaTabella"


    sSQL = sNomeCampo & " LIKE '" & Me.RICERCA.Value & "'"
    NR = DCount(sNomeCampo, sNomeTabella, sSQL)
    If NR > 0 Then
    MsgBox "ATTENZIONE! ...L'ID " & RICERCA & _
    vbCrLf & "è già presente nel database.", vbExclamation, "AVVISO"
    End If
    ℹ️ Leggi di più su hotrock ...

  4. #4
    windswalker non è in linea Scolaretto
    Quote Originariamente inviato da dragone bianco Visualizza il messaggio
    ti basta modificare questo passaggio

    STRSQL = STRSQL & " WHERE p_iva = """ & P_IVA.Value & """"
    
    così
    STRSQL = STRSQL & " WHERE p_iva = " & P_IVA.Value
    
    Ciao
    Grazie, funziona perfettamente

    Nel caso in cui volessi invece confrontare più valori della maschera contemporaneamente per vedere se sono già presenti in uno stesso record del database, posso usare la stessa struttura? Pensavo di concatenare una serie di if..then, anche se un po' grezzo....

  5. #5
    windswalker non è in linea Scolaretto
    Quote Originariamente inviato da hotrock Visualizza il messaggio
    Ciao,non so se può essere utile usare Dcount...vedi tu.
    così funziona.

    Dim sSQL As String
    Dim sNomeCampo As String
    Dim sNomeTabella As String
    Dim NR As Integer

    sNomeCampo = "NomeDelCampo"
    sNomeTabella = "NomeDellaTabella"


    sSQL = sNomeCampo & " LIKE '" & Me.RICERCA.Value & "'"
    NR = DCount(sNomeCampo, sNomeTabella, sSQL)
    If NR > 0 Then
    MsgBox "ATTENZIONE! ...L'ID " & RICERCA & _
    vbCrLf & "è già presente nel database.", vbExclamation, "AVVISO"
    End If
    Grazie della routine, anche se userò quella vecchia in quanto faccio prima a cambiare un rigo che non a riscriverla da zero

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Ricerca duplicati
    Da marcliv nel forum Microsoft Excel
    Risposte: 2
    Ultimo Post: 29-11-2013, 11:06
  2. Risposte: 5
    Ultimo Post: 26-07-2011, 20:29
  3. ricerca duplicati
    Da Imperiali nel forum Microsoft Access
    Risposte: 0
    Ultimo Post: 24-06-2011, 11:55
  4. [Access] - ricerca duplicati
    Da Fabio63 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 18-02-2010, 10:14
  5. [Access] - ricerca duplicati
    Da Fabio63 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 14-10-2009, 11:49