Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    9

    [ACCESS] evitare inserimento duplicati

    buongiorno, avrei bisogno di un aiuto.. ho creato un database dove ad un campo voglio aggiungere il controllo che impedisca l'inserimento di un valore duplicato. Voglio però che il controllo venga fatto subito dopo l'inserimento del dato e non al salvataggio del record (cosa che succede impostando l'indicizzazione del campo).
    In un altro database che avevo fatto con un collega (che era più esperto di me), avevo un codice che mi permetteva di farlo, sto provando ad adeguarlo al nuovo database ma continua a darmi errore di sintassi e vista la mia scarsissima conoscenza di vba non riesco a trovare l'errore...

    considerando che il nome del campo a cui voglio applicare il controllo è "n°_verbale" (sia in maschera che in tabella) e la maschera si chiama "verbale" il codice che ho inserito è il seguente:

    Private Sub n°_verbale_BeforeUpdate(Cancel As Integer)


    If Not IsNull(DLookup(n°_verbale, verbale, _
    n°_verbale = & Chr$(34) & Me!n°_verbale & Chr$(34))) _
    And Me!n°_verbale <> Nz(Me!n°_verbale.OldValue) Then


    MsgBox Me!n°_verbale & " Già esiste.", vbOKOnly, "Duplicato!"
    Cancel = True


    End If

    posso chiedere il vostro aiuto?
    grazie

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Non hai specificato l'ambiente in cui operi, il linguaggio, il tipo di database

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    9
    scusate, ero focalizzata sul mio problema... il database è in ACCESS, che mi permette di raccogliere i verbali di valutazione di ogni stabilimento.
    I record sono tutti riuscita a farli stare tutti in un'unica tabella e sono formati da campi di testo breve/lungo, più alcuni allegati, un campo data ed un campo SI/NO su cui ho impostato codice per far "bloccare" la scheda rendendo così i campi non modificabili dopo il salvataggio.
    Per l'inserimento dei dati ho preparato una maschera a schede. Per ora nel databse, non ho messo macro, ma solo codici in VBa.
    Il campo in questione, ossia il codice verbale è una stringa (cod/anno/n°)
    spero di aver chiarito meglio lo scenario
    grazie mille

  4. #4
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Quote Originariamente inviata da rorofre Visualizza il messaggio
    ...Per ora nel databse, non ho messo macro, ma solo codici in VBa.
    non sono pratico di access, ma mi piacerebbe sapere che differenza c'è tra macro e codice vba

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    9
    io non sono esperta, ma da quanto ho letto mi sembra di aver capito che le macro ci Access sono delle routine ossia una serie di istruzioni già disponibili e selezionabili (senza dover digitare codici con linguaggio vba).
    Logicamente sono solo relative ad argomenti specifici e più comuni, quindi per i particolari si ricorre ancora ai codici in vba.
    sempre dalle ricerche che ho recentemente fatto per poter risolvere una serie di problemi con il mio database, mi sembra di aver capito che macro e vba nello stesso database, potrebbero creare interferenze... mi sembra..... non metto mano su fuoco, ma nel dubbio ho specificato questa informazione

  6. #6
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Sarebbe meglio scriverlo nel titolo del primo post che si tratta di Access in modo da attirare i relativi esperti (vedi regolamento)

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    @patel
    Risulta chiaro che il REGOLAMENTO non sa manco cosa sia, visto come ha 'confezionato' la richiesta.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    9
    scusate, dove ho sbagliato??? è la mia prima discussione... se sbaglio ditemi dove, volevo solo un aiuto

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2019
    Messaggi
    9
    se non sbaglio il regolamento dice che non si fa richieste Vorrei avere come si fa.... ma si deve proporre la soluzione da modificare o correggere.. così ho cercato di fare, altrimenti avrei scritto: qualcuno mi dice come si fa per evitare di inserire valori duplicati?
    spiegatemi cosa dovevo fare così capisco l'errore

  10. #10
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    al punto 6
    Indica il linguaggio di programmazione nel titolo (es. [C++], [DELPHI], [PYTHON], ecc.) e una descrizione breve ma significativa del problema trattato nella discussione, evitando epiteti come "urgente", "help", "aiuto", "solo per esperti" o termini scontati come "problema con".
    Un titolo inadeguato può portare alla chiusura della discussione. Ciascuna discussione deve trattare esclusivamente uno e un solo problema: quello indicato nel titolo. Per ogni nuovo problema che non sia strettamente correlato, è necessario aprire una nuova discussione.
    basta vedere tutti gli altri titoli per accorgersene, come ho già detto serve per attirare l'attenzione dell'esperto in quel settore.
    Inoltre probabilmente la sezione giusta in cui postare la tua richiesta è Database, se sei d'accordo clicca sul triangolino a sinistra per segnalare al moderatore di spostarla
    Ultima modifica di patel; 18-03-2019 a 09:15

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.