Unire due campi testo in un terzo

di
Anonimizzato9458
il
8 risposte

Unire due campi testo in un terzo

Ciao a tutta la bella gente del forum,
premetto che non mi sono mai dedicato molto ai database, quindi abbiate pazienza, da una qualche parte bisogna pur cominciare...

Nel data base che sto realizzando ho una tabella con 3 campi testo, il primo di 4 lettere, il secondo e il terzo di due. Il primo campo deve essere uguale al secondo + al terzo. Praticamente l'utente finale dovrebbe inserire il secondo campo e il terzo campo e ritrovarsi in automatico il primo compilato dalla formula: Primo campo = secondo campo + terzo campo.
Ho provato con delle espressioni, con il valore predefinito, con un campo calcolato (che non posso usare perche non posso poi associargli una relazione), con un codice vb ma nulla è due giorni che ci sbatto la testa ma non ci sono saltato fuori... Voi avete idee?

Grazie in anticipo...

8 Risposte

  • Re: Unire due campi testo in un terzo

    Ciao Miodo e benvenuto.
    Ho letto il tuo post è mi è saltato agli occhi il fatto che lavori con numeri ma utilizzando campi testuali.
    Per quali motivo se tratti numeri non utilizzi i tipi di campi appositi in Access?
  • Re: Unire due campi testo in un terzo

    Ciao e grazie... Lavoro con dei testi perchè i campi possono essere composti anche da lettere...
    Per esempio:
    Campo 2: A1
    Campo 3: 28
    Campo 1: A128
  • Re: Unire due campi testo in un terzo

    Ciao ok ok devi fare la concatenazione di stringhe.
    Sql per access le fai così: SELECT [campo3] & "" & [campo2] AS campo1 FROM [tabella]
    in VBA partendo dai valori dei campi fai: risultato = rec("campo3") & "" & rec("campo2")
    in VBA partendo dalle caselle di testo fai: risultato = Forms!tuo_form!campo3.Text & "" & Forms!tuo_form!campo2.Text

    il carattere assurdo che vedi è una "e commerciale" solo che questo forum la trascodifica male.

    fammi sapere
  • Re: Unire due campi testo in un terzo

    La prima soluzione che mi hai dato è per fare una query giusto?
    La seconda non saprei come "collegarla" alla tabella...
    La terza ora la provo anche se non sò in che evento metterla...
    Ma scusa questi metodi vanno a scrivere nel campo 1 della tabella o fanno tutti una spece di query?
  • Re: Unire due campi testo in un terzo

    Ho provato la terza sull'evento "prima di aggiornare" della casella di testo corrispondente al campo 1 ma non fa nulla... Se da VBA faccio un controllo mi dice che il valore è fuori contesto... io qui mi fermo perchè non sò bene come funzica access... Tu sapresti dirmi cosa ho sbagliato?
  • Re: Unire due campi testo in un terzo

    Ciao,io comincerei a inserire in tabella il campo 2 e il campo 3,dopo crei una query con questi campi ed inserisci un campo calcolato ex-campo1:[campo2]&[campo3];così ottieni l'unione del campo2+campo3.fammi sapere
  • Re: Unire due campi testo in un terzo

    Allora... Grazie ai vostri aiuti ed a quelli di un un altro tizio che ne sà più di me, ci siamo saltati fuori. Associando alla funzione "Dopo aggiornamento" del campo 3 il codice VB riportato qua sotto si può fare ciò che mi serviva.

    Ecco il codice:
    Me.[Nome Campo 1 nella maschera] = Nome Campo 2 nella maschera + Nome Campo 3 nella maschera

    Naturalmente alla maschera è associata la tabella dove sono presenti i campi 1, 2, 3.

    Ora avrei un altro problema, non sò se comviene aprire un altra discussione o continuare questa...
    Va bhè per ora continuo questa, nel caso abbia sbagliato, la sposterò

    Il mio problema ora è un pò più complicato da spiegare... Immaginate di avere una tabella con due campi: Campo A e Campo B. Nella maschera di immissione dati, dopo la compilazione del Campo A il sistema dovrebbe filtrare tutti i record della tabella con Campo A uguale a quello immesso e dovrebbe inserire in una casella di testo il Campo B avente valore maggiore tra i record filtrati... Non sò se è chiaro, se non avete capito mi scuro e cercherò di spiegarmi meglio...
  • Re: Unire due campi testo in un terzo

    Come non detto... Con la funzione "DMax" ho risolto il problema. Se avete bisogno di delucidazioni sul caso, fatemi sapere...

    Intanto, grazie a tutti!
Devi accedere o registrarti per scrivere nel forum
8 risposte