0

Rendere univoco un campo

Ho importato in una tabella un DB creato precedentemente, fra i vari campi ne ho uno in cui inserisco un codice che identifica il ricambio, vorrei renderlo non duplicabile, cioè se provo a immettere il cod. 2.564 che già esiste vorrei uscisse ua finesta dicendomi " questo cod. è già presente nel DB"

Grazie Maurizio

11 replies

null
    • Antonello_Stabile_71
    • 3 yrs ago
    • Reported - view

    Ciao Maurizio, questo è il codice che utilizzo io nel mio database per evitare che il codice articolo venga duplicato

    let testcodice := text(ctcodice);
    let b := count((select Articolo)[Codice = "testcodice"]);
    if b > 1 then
    alert("Il codice è presente in archivio")
    else
    Codice := upper(Codice)
    end

    • maurizio.1
    • 3 yrs ago
    • Reported - view

    Per prima cosa grazie Antonello, purtoppo sono assolutamente ignorante con i codici, script etc etc e ti chiederei se per caso conosci una guida, possibilimente in italiano, dove possa vedere degli esempi o imparare. 

    Provo ad allegare due screenshot 

    • maurizio.1
    • 3 yrs ago
    • Reported - view
    • maurizio.1
    • 3 yrs ago
    • Reported - view
    • maurizio.1
    • 3 yrs ago
    • Reported - view

    chiedo scusa, ma non ho più la mano a scrivere sui forum, grazie per l'attenzione, Maurizio

    • Antonello_Stabile_71
    • 3 yrs ago
    • Reported - view

    Il codice và inserito nel campo "Dopo l'aggiornamento, eseguire il trigger". Cambia solo la prima riga number(ctcodice) al posto di text(ctcodice)

    • maurizio.1
    • 3 yrs ago
    • Reported - view

    Buongiorno Antonello, ancora grazie per l'aiuto, ma non cavo un ragno da un buco, come ti dicevo di codici non ci capisco niente..., ho provato a fare copia incolla nel mio campo Codice "Dopo l'aggiornamento..." ho sostituito text con number, ma il risultato non cambia, o mi dice campo non trovato o tabella non trovata.

    Ho provato rinominare il campo in "ctcodice" ho provato a sostituire (selectArticolo) con (selectMagazzino Ricambi) ove Magazzino Ricambi è il nome della tabella, ma sto solo annaspando, se non capisco lo script non ne esco.

     

    Il nome del campo è "Codice" il nome della tabella è  "Magazzino Ricambi"

     

    se potessi indicarmi un testo cui possa far riferirimento per capire i comandi forse darei meno disturbo.

    Grazie, Maurizio

    • Antonello_Stabile_71
    • 3 yrs ago
    • Reported - view

    Allora facciamo una passo alla volta:

    Crea un campo formula all'interno del modulo e chiamalo ctcodice, nel suo interno inserisci la formula:

    let ct := Codice;
    if count((select 'Magazzino Ricambi')[Codice = ct]) > 1 then
    alert("ATTENZIONE il codice " + Codice + " risulta già inserito")
    end

    In effetti la formula cosa fà:

    Conta quanti articoli (codice) nella tabella (Magazzino ricambi) sono identici. Se superiori a 1 scatta l'allarme (alert).

    Guarda anche qui:

    https://ninox.com/en/forum/technical-help-5ab8fe445fe2b42b7dd39ee7/how-can-i-set-a-field-to-automatically-search-existing-records-for-possible-duplicates-of-the-record-im-about-to-create-5bade97a531f2c4e2f2dc6fc?post=5bade97a531f2c4e2f2dc6fd&page=0

    • maurizio.1
    • 3 yrs ago
    • Reported - view

    Non so come ringraziarti Antonello, funziona, adesso provo a replicare il controllo anche per altri campi, visto che ho altri 5 codici da fornitori oltre al mio.

    Domani con calma cercherò di studiarmi il Thread che mi hai indicato, mi sto facendo un paio di DB per uso personale, ho trovato interessante Ninox perchè fra i tanti che ho visto e provato è l'unico che mi consente di utilizzarlo su Mac OSX, iOS, e android.

    Ps posso nascondere nel formato il campo "ctcodice"??

    Sei stato gentilissimo, fra qualche giorno tornerò a bussare con altre domande.

    Grazie, Maurizio

    • Antonello_Stabile_71
    • 3 yrs ago
    • Reported - view

    io con Ninox ci gestico la mia attività di assistenza tecnica.

    Ti dò un consiglio:

    Creati un TAB e lo nomini amministratore con accesso in sola lettira da parte tua che sei admin. In questo TAB metterai tutti i campi che altri non possono vedere ad eccezione tua. Per ogni tabella io creo sempre una TAB admin e li metto tutti i campi che voglio "non visibili" 

    Se vuoi invece lasciarlo nel TAB principale allora puoi inserire nel campo "Lettura autorizzata" solo te che si admin.

    • maurizio.1
    • 3 yrs ago
    • Reported - view

    Ancora grazie per la pazienza Antonello, anche io ho un c.a. riparo attrezzature di cottura e lavaggio per ristorante, alberghi etc etc., ti volevo chiedere quale tipo di linguaggio si utilizza per scrivere i codici ?? Java, Piton etc etc, sapendo questo posso provare a cercare un libro e cercare di capire come fare, tanti tanti tanti anni fa, avevo creato il padre di questo DB con Access e avevo imparato anche a fare qualche cosa in visual basic, ma Acces putroppo è uno dei pochi software che non esistono su Mac Os-x, poi lo convertii con 1000 difficoltà in FM, ma quest'ultimo risulta complicato gestirlo in tutti i sensi.

    Grazie, Maurizio

Content aside

  • 3 yrs agoLast active
  • 11Replies
  • 1591Views