Ricerca valori da textbox e inserimento dati in tabella

di il
13 risposte

Ricerca valori da textbox e inserimento dati in tabella

Ciao, premetto che sono nuovo nel Forum

Ho creato un DB dove ho diverse tabelle e vorrei, attraverso una maschera, poter effettuare una ricerca, se il dato esiste estrapolare alcuni valori e aggiungerli in un'altra tabella.

L'esempio più vicino a quello di cui avrei bisogno è:
Attraverso una maschera per inserimento di righe d'ordine ( maschera + sottomaschera o tabella o query) dovrei avere una textbox dove inserire un codice (es:codice a barre) questo codice potrebbe essere presente nella tabella a cui si associa il mio codice "interno".
A questo punto se la macro "trova" il codice dovrà aggiungere una riga all'ordine contenente il codice, il suo id(contatore), il codice "interno".
Se non trova il codice in tabella dovrà proporre l'inserimento del "codice interno" in modo da inserirlo nelle associazioni. Con access 2010 sono cambiate un po' di cose e...


Questo tipo di progetto l'avevo creato con VB6 e mysql ma ora vorrei qualcosa di più semplice e "trasportabile" come un file access. Grazie mille a tutti

13 Risposte

  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Potresti elencare tutte le tabelle che entrano in gioco con tutti i nomi campo e le relazioni?
    Poi rispiega tutto il problema in maniera dettagliata.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Grazie per la risposta:

    Tabella Costruttori: ID_Costruttore (contatore), Costruttore(Testo)
    Tabella Fornitori : ID_Fornitore (contatore), Fornitore(Testo)
    Tabella Codici: ID_Codici(contatore),Codice(testo),Codice_int(testo),ID_Costruttore(numerico),
    ID_Fornitore(numerico)
    Tabella Ricevimento_M: ID_Arm(contatore),Data,Arm(Testo)
    Tabella ARM: ID_Reel(contatore),ID_Arm(numerico),Data(data),ID_Codici(num),
    Quantità(num),Lotto(testo)

    Fornitori!ID_Fornitore relazione con Codici!ID_Fornitore (1 a molti)
    Costruttori!ID_Costruttore relazione con Codici!ID_Costruttore (1 a molti)
    Codici!ID_Codici relazione con ARM!ID_Codici (1 a molti)
    Ricevimento_M!ID_Arm relazione con AR!ID_Arm (1 a molti)

    Query!AR: in pratica mi serve per visualizzare in chiaro il Codice int relativo a Id_Codice etc. per poterli visualizzare in una maschera

    La maschera avrà quindi i campi relativi a Tabella!ARM e la sottoquery Query!Arm che elenca le righe relative a quel documento(ID_Arm) e dove vorrei aggiungerne di nuove con i criteri sotto riportati:

    In pratica il mio problema è che alla ricezione merci, avendo un lettore barcode, dovrei "sparare" il codice in un campo textbox e ricercarlo in Tabella Codici!Codice.
    Se trovo il valore codice devo aggiungere alla tabella ARM una riga con ID_Reel(contatore autom.),ID_Arm(Recuperato dalla Maschera visualiz.),Data(data),ID_Codici(Recuperato dalla Tabella Codici), Quantità(inputbox o textbox),Lotto(inputbox o text box)
    Se non trovo il codice devo poterlo associare ad un mio codice interno completando i campi della Tabella!Codici aprendo magari una maschera nuova dove posso inserire i vari campi anche in questo caso se non fosse presente fornitore e costruttore nell'elenco dovrei poterne aggiungere di nuovi.

    Quindi in breve io devo poter introdurre in un documento(maschera agli occhi dell'operatore) dei codici che sono associati a dei codici a barre completando di volta in volta le righe relative a quel documento.

    Spero di aver spiegato un po' il mio problema di più anche se mi rendo conto che è difficile spiegarsi
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    stacker ha scritto:


    Tabella Costruttori: ID_Costruttore (contatore), Costruttore(Testo)
    Tabella Fornitori : ID_Fornitore (contatore), Fornitore(Testo)
    Tabella Codici: ID_Codici(contatore),Codice(testo),Codice_int(testo),ID_Costruttore(numerico),
    ID_Fornitore(numerico)
    Tabella Ricevimento_M: ID_Arm(contatore),Data,Arm(Testo)
    Tabella ARM: ID_Reel(contatore),ID_Arm(numerico),Data(data),ID_Codici(num),
    Quantità(num),Lotto(testo)

    Fornitori!ID_Fornitore relazione con Codici!ID_Fornitore (1 a molti)
    Costruttori!ID_Costruttore relazione con Codici!ID_Costruttore (1 a molti)
    Codici!ID_Codici relazione con ARM!ID_Codici (1 a molti)
    Ricevimento_M!ID_Arm relazione con AR!ID_Arm (1 a molti)
    Descrizione chiara...anche se non conosciamo di cosa parla il tuo database. Perdonami, non tutti gli utenti possono conoscere il tuo campo professionale...proviamo ad andare avanti ugualmente.

    stacker ha scritto:


    Query!AR: in pratica mi serve per visualizzare in chiaro il Codice int relativo a Id_Codice etc. per poterli visualizzare in una maschera
    Quali sono le tabelle che partecipano in questa query?
    E quali campi mostra la query?

    stacker ha scritto:


    La maschera avrà quindi i campi relativi a Tabella!ARM e la sottoquery Query!Arm che elenca le righe relative a quel documento(ID_Arm) e dove vorrei aggiungerne di nuove con i criteri sotto riportati
    Anche questo non si capisce.

    stacker ha scritto:


    In pratica il mio problema è che alla ricezione merci, avendo un lettore barcode, dovrei "sparare" il codice in un campo textbox e ricercarlo in Tabella Codici!Codice
    Ho la sensazione che questa problematica sia stata già affrontata in passato. Non ricordo più i titoli dei thread, ma la parola "barcode" dovrebbe aiutarti nella ricerca all'interno del forum.

    Tutto il resto, mi sono perso.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Ciao, in effetti non ho tralasciato di cosa parla il database..
    Si tratta di un database che gestisce componenti elettronici.Questi hanno un codice a barre che viene applicato dal costruttore.
    Inserendo questo codice a barre Il database dovrà riconoscere se il codice a barre letto o inserito manualmente nella textbox(l'uscita di un lettore è come una tastiera) è presente nel database in modo da associarne un Mio codice interno e se non fosse presente dovrà darmi la possibilità di associarlo, dovrei fare la registrazione in ingresso associando tutte le voci della stessa Bolla(DDT) ad un unico numero ARM. La "linea" di registrazione è univoca(ID_reel) e questo mi permetterà di stampare un'etichetta contenente il Mio codice, il numero univoco, Quantità.

    In breve, ricevo i materiali che vengono identificati dal sistema e registrati in modo univoco.
    Il passo successivo è la stampa di un'etichetta identificativa del componente. Il tutto servirà per la rintracciabilità.

    ciao e grazie per il supporto
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Quando parli di componenti elettronici, intendi dire che ciò viene rappresentato dalla tabella Codici?
    Puoi spiegarmi bene bene le tabelle Codici, ARM e Ricevimento_M?
    In tabella Codici, il campo Codice sarebbe il codice del Costrutture, mentre Codice_int il tuo codice?
    Siamo sicuri che uno stesso componente elettronico (Codice se non ho capito male) venga fornito sempre e soltanto dallo stesso Fornitore?
    Se ancora la mia testa dura non mi aiuta, potresti fare qualche esempio concreto con valori di campi alla mano?
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    OsvaldoLaviosa ha scritto:


    Quando parli di componenti elettronici, intendi dire che ciò viene rappresentato dalla tabella Codici?
    grande hai colto nel segno. il Codice è ciò che è riportato sulla confezione che è legato al Costruttore però potrebbe essere fornito da più fornitori

    Puoi spiegarmi bene bene le tabelle Codici, ARM e Ricevimento_M?
    la tabella codici serve per associare i Codici componenti con i codici interni e aggiungendo fornitori e costruttori
    La tabella Ricevimento ha il solo compito di attribuire un codice univoco al documento che andrò a registrare, infatti tutti i record inerenti allo stesso DDT avranno ID_Arm e di conseguenza Arm uguali.
    Nella tabella arm registro le "righe" del DDT ID_reel è il codice di tracciabilità del componente
    (contat. automatico), ID_codice è il riferimento all'ID che identifica il componente fornito da "X" e costruito da "X"...... magari sto sbagliando l'impostazione del Db



    In tabella Codici, il campo Codice sarebbe il codice del Costrutture Esatto, mentre Codice_int il tuo codice(Esatto)?

    Siamo sicuri che uno stesso componente elettronico (Codice se non ho capito male) venga fornito sempre e soltanto dallo stesso Fornitore (Questo no e potrebbe anche capitare che il codice(costruttore) possa essere uguale ad un altro costruttore?
    In teoria come avevo fatto con Sql e vb6 dovrei inserire Costruttore in inputbox mentre il Fornitore visto che sto registrando una DDT potrebbe essere in testa alla maschera (il ddt è di un unico fornitore e viene registrato in un unico "ricevimento merci"

    Se ancora la mia testa dura non mi aiuta, potresti fare qualche esempio concreto con valori di campi alla mano?
    Se ti serve qualche esempio provo a girarlo stasera.... ora sono al lavoro
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    La relazione Costruttori uno-a-molti con Codici va bene. Anche se compariranno Codici.Codice uguali, sarà IDCostruttore a rendere univoco il record.
    Codici e Fornitori sono in relazione molti-a-molti perche un Fornitore può fornire molti Codici e uno stesso Codice essere fornito da molti Fornitori.
    Poi parli di un campo o tabella DDT che hai tirato fuori solo adesso. Ciò mi complica la comprensione di tutto il resto del discorso.
    Non vedo una tabella Ordini o Bolle (non saprei)...continuo a non comprendere il significato delle tabelle ARM, Ricevimento_M e DDT(???).

    stacker ha scritto:


    Se ti serve qualche esempio provo a girarlo stasera
    Può essere molto utile.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    OsvaldoLaviosa ha scritto:


    La relazione Costruttori uno-a-molti con Codici va bene. Anche se compariranno Codici.Codice uguali, sarà IDCostruttore a rendere univoco il record.
    Codici e Fornitori sono in relazione molti-a-molti perche un Fornitore può fornire molti Codici e uno stesso Codice essere fornito da molti Fornitori.
    Poi parli di un campo o tabella DDT che hai tirato fuori solo adesso.no non esiste una tabella DDT o campo, era solo per far capire che la maschera avrà dei campi fissi e dei "sottorecord" che saranno le registrazioni relative Ciò mi complica la comprensione di tutto il resto del discorso.
    Non vedo una tabella Ordini o Bolle (non saprei)...Non ci sonocontinuo a non comprendere il significato delle tabelle ARM, Ricevimento_M e DDT(???).
    Forse sbaglio approcio, cmq la tabella Ricevimento mi crea in sostanza dei riferimenti di documento ARM(AvvisoRicevimentoMerci) sotto quell'ID_ARM nella tabella ARM andrò ad inserire tutte le righe dei componenti "sparati". In effetti mi sono dimenticato di inserire nel Ricevimento_M un campo testo che indica il Rif_DDT (il DDT è documento cartaceo dal fornitore)

    stacker ha scritto:


    Se ti serve qualche esempio provo a girarlo stasera
    Può essere molto utile.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Per me c'è da rivedere tutta la strutturazione delle tabelle. Tutti i vari documenti e passaggi vanno tutti tracciati su opportune tabelle. Il miglio modo per risolvere sarebbe che tu raccontassi passo passo quello che avviene nella tua azienda.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    OsvaldoLaviosa ha scritto:


    Per me c'è da rivedere tutta la strutturazione delle tabelle. Tutti i vari documenti e passaggi vanno tutti tracciati su opportune tabelle. Il miglio modo per risolvere sarebbe che tu raccontassi passo passo quello che avviene nella tua azienda.
    Grazie per il supporto, non credo sia necessario sapere di più sull'azienda anche perchè nella realtà avevo già creato il tool (che funziona con mysql e vb6).
    Vorrei usare access per comodità.
    Mi ripeto, il concetto è molto semplice, lasciando perdere ddt e altre cose..... Al ricevimento merci in magazzino si sul codice a barre che deve essere ricercato in una tabella per estrarre la corrispondenza ad un mio codice interno qui si aprono 2 condizioni: il codice esiste allora salvo la registrazione in una tabella con ID riga univoco(contatore), un riferimento(ARM) un fornitore che saranno gli stessi per ogni componente dello DDT,scatolone o quant'altro. se non trovo il codice devo poterlo registrare nella tabella codici e poi come sopra registro.
    Quindi in quella tabella mi ritroverò tutte le linee facenti parti di diversi ARM ma che potrò interrogare per avere ad esempio un elenco dei componenti facenti capo allo stesso ARM.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Raccontato così è tutto molto più semplice, anche se la struttura tabelle non mi convince. Sicuramente thread precedenti che parlano del "barcode" ti potrebbero aiutare. La questione punta sul fatto che potresti ottimizzare tutto con "casella combinata". Se imposti, al posto della casella di testo, una "casella combinata" (il classico menu a tendina) che guarda la lista dei tuoi Codici, porti con te appresso tutti i suoi dati che stanno a monte. La costuzione di una casella combinata ben congeniata è un tema ampiamente discusso in tutti i forum di Access e facilmente rintracciabile sulla guida in linea.
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    Prova ad inserire un Button e su click successivamente al riconoscimento del Barcode che popola una TextBox verifica se questo metodo può avvicinarsi a quello che ti serve, nel caso lo vestiamo come serve...
    
    Private Sub NomeButton_Click()
       If DCOUNT("*","NomeTab","Campo='" & Me!NomeTextBox.Value & "'")>0 Then
          MsgBox "Il componente esiste..."
          ' Quì fai quello che serve
       Else
          MsgBox "Il componente NON ESISTE esiste..."
         ' il componente non esiste fai l'altro...!
       End if
    End Sub
  • Re: Ricerca valori da textbox e inserimento dati in tabella

    @Alex ha scritto:


    Prova ad inserire un Button e su click successivamente al riconoscimento del Barcode che popola una TextBox verifica se questo metodo può avvicinarsi a quello che ti serve, nel caso lo vestiamo come serve...
    
    Private Sub NomeButton_Click()
       If DCOUNT("*","NomeTab","Campo='" & Me!NomeTextBox.Value & "'")>0 Then
          MsgBox "Il componente esiste..."
          ' Quì fai quello che serve
       Else
          MsgBox "Il componente NON ESISTE esiste..."
         ' il componente non esiste fai l'altro...!
       End if
    End Sub
    Ciao Alex grazie, il codice funziona e mi restituisce se il codice c'è o non c'è. Dato che la come ultimo carattere restituisce INVIO ho messo l'evento su invio ma la cosa strana è che il msgbox mi viene restituito solo se riclikko la textbox.
    A parte questo avrò bisogno di altro aiuto per la gestione degli eventi c'è o non c'è il "Codice" in tabella.

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
13 risposte