Problema nel creare un campo di ricerca

di il
13 risposte

Problema nel creare un campo di ricerca

Sono molto terra terra in access anzi direi proprio a zero.

Quello che ho:

1 Listino con campi come (codice articolo,descrizione fornitore ecc...)

Quello che voglio farci:

-Cercare il codice articolo fra i record
-Poter modificare i valori
-Aggiornare in maniera automatica i valori
-Inserirli in una tabella
-Esportare i valori in tabella in exel

I problemi che ho:

Sono tanti... intanto partiamo col primo poi forse se inizio a capire dove sbaglio posso ingranare un pò meglio

-Non mi riesce creare un campo di ricerca (con un textbox) che trovi il record nella colonna "codice articolo" e che ovviamente in automatico aggiorni i campi sottostanti con i valori coretti.

Ho provato con tutte le macro esistenti e tutte mi danno infiniti errori in cui non ci capisco nulla.

______________________________

Qualcuno mi sa illuminare?? volete il file per capire meglio??

Ringrazio in anticipo tutti, ho pure comprato il libro suggerito (quello "costruire aplicazioni con access") ma non riesco a trovare le risposte che cerco (probabilmente non so nemmeno dove cercare).

13 Risposte

  • Re: Problema nel creare un campo di ricerca

    Ciao pollopopo.
    uno spunto
    potresti creare una maschera il cui recordsource è una query sulla tabella che contiene i dati che sotto indichi.
    Nella maschera inserisci una casella combinata non associata il cui recordsource è il campo della tabella da ricercare.
    su evento dopo aggiornamento invochi il requery della tua form.
    per l'esportazione in xls, controlla il metodo output to o TransferSpreadsheet membri di access.cmd.
    ciao.
  • Re: Problema nel creare un campo di ricerca

    Premesso che non vorrei fraintendere, ma i primi punti della tua domanda si affrontano in modo BASE con un minimo di conoscenza dello strumento.
    Access consente l'uso di AUTOCOMPOSIZIONI se il tutto viene correttamente strutturato, ma per questo non ho compreso quanto tu conosca e quanto tu abbia strutturato.

    Se fai una BANALE maschera con l'Autocomposizione basata sulla Tabella ti consente di gestire i dati e modificarli, questi sono nella Tabella.
    Poi crei una CASELLACOMBINATA sempre con l'Autocomposizione, leggi le opzioni che ti vengono proposte e definisci la ricerca...

    Per esportare in EXCEL la cosa può essere banale o complessa a seconda di come devi operare...
    Puoi semplicemente usare:
    
    Sub TransferSpreadsheet([TransferType As AcDataTransferType = acImport], _
                    [SpreadsheetType As AcSpreadSheetType = acSpreadsheetTypeExcel12Xml], _
                    [TableName], _
                    [FileName], _
                    [HasFieldNames], _
                    [Range], _
                    [UseOA])
    Membro di Access.DoCmd

    Ovviamente ci sono metodi più complessi che si adattano nel caso tu abbia un Template di Excel o esportazioni CUSTOM da riuscire a gestire.
  • Re: Problema nel creare un campo di ricerca

    Conoscenze zero (motivo per il quale ho acquistato il libro)... capisco alla svelta il problema è che non riesco a trovare le basi per partire in maniera coretta senza perdere mesi per fare 3 tabelle 2 maschere e poco più...

    Comunque mi rispiego meglio su cio che cerco di fare e vorrei fare

    -Ho tre listini (meglio se in 3 tabelle separate)
    -Seleziono il listino
    -Maschera di inserimento
    -Ricerca per codice articolo/barcode in una casella di ricerca dedicata
    -Se trova l'articolo lo inserisce in una tabella sottostante (se no messaggio che non l'ha trovato)
    -Se seleziono uno riga col doppio click nella tabella mi apre una maschera di editing dell'articolo poi salvo e aggiorno sia per la tabella che per il database
    infine esportazione semplice della tabella... cioè quello che contiene va pari pari in exel.

    ----

    tutto questo per il momento poi la seconda aggiunta sarà un breve calcolo in base a cio che arriva (qta colli x qta contenuto collo)

    ---

    Grazie ancora per tutto l'aiuto
  • Re: Problema nel creare un campo di ricerca

    Purtroppo le cose si fanno con il tempo che serve, a sopravvalutarsi si fa sempre a tempo.
    Se il tuo problema è non perdere tempo, posso dirti che probabilmente è esattamente quello che stai facendo a tua insaputa...!

    Il passo fondamentale, quando si sviluppa un'applicazione GESTIONALE, è rappresentato dalla INGEGNERIZZAZIONE del DATABASE, quindi TABELLE, RELAZIONI e TIPO DATI.

    Passare alle maschere è un'inutile esercizio GRAFICO che porta ad errori ed impossibilità di gestione se il passo prima non è corretto.

    Ad esempio mi chiedo e ti chiedo se hai letto/studiato le 5 REGOLE FONDAMENTALI della NORMALIZZAZIONE...?

    Potresti in qualche modo comprendere perchè è assolutamente ASSURDO definire 3 LISTINI...

    Premesso tutto ciò, quello che si evince dalla tua esposizione, è che, oltre a forse necessitare di un BackStep per la parte struttura, non hai assolutamente capito come funziona il SISTEMA di ACCESS... che prevede l'uso di Oggetti associati ai dati, pertanto tutto quello che ci chiedi in realtà non ha modo di essere un problema essendo fatto automaticamente da ACCESS se opportunamente impostato.

    Perdonareai la mia franchezza espositiva, ma quel libro forse è bene leggerlo e non sottovalutarlo...
  • Re: Problema nel creare un campo di ricerca

    Non mi sopravvaluto. E' modo di dire, cioè che sono uno che ci lavora parecchio quindi capisco in fretta se riesco a capire i punti per partire nella maniera corretta. Il fatto che non posso perderci troppo tempo è perché è una cosa che mi serve nel breve.
    Ne ho trovate solo tre e le ho cercate di studiare ma alcune cose non le ho capite perfettamente e il libro non ne fa particolare menzione se non in maniera semplice dicendo di evitare la ridondanza di informazioni. La franchezza è la cosa che più apprezzo quindi accetto tutte le critiche più che volentieri dato che servono solo per migliorarsi.

    A me serve solo una semplice interrogazione e breve modifica di questi 3 listini (con l'aggiunta della possibilità di esportare un documento).

    I campi che utilizzerei di questi listini sono:

    Codice articolo (campo informativo)
    Descrizione (campo modificabile)
    Nome produttore (campo informativo)
    Barcode (campo informativo)
    qta pezzi dentro un collo (campo informativo)
    Prezzo di vendita (campo modificabile)
    Prezzo di vendità finale (campo modificabile)
    Sconto (questo è calcolato attraverso prz iniziale e prz finale) (campo informativo)
    Qta totale (campo calcolato che non deve registrarsi nel database ma solo nella lista articoli da esportare)


    Non devo farci chi sa cosa come detto sopra. E' che non riesco a capire tutti questi automatismi di access perchè nonostante diverse ricerche sul web oltre che sullo stesso libro non sono neancora riuscito a capire come fare una casella di ricerca che esegue la ricerca nei record.
  • Re: Problema nel creare un campo di ricerca

    Caro pollopopo, conosco @Alex da più di un anno grazie al forum e, nonostante qualche volta rischia di perdere la pazienza, direi che questa volta è stato gentile/esplicito/franco più che mai. Quello che ti ha detto non fa una grinza. A me, invece viene di porti tutt'altre domande:
    Cosa devi realizzare?
    Di cosa parla il tuo database?
    Quali dati deve immagazzinare?
    Se non ti/ci poni queste domande, alle quali, dai testi scritti da tutti gli utenti in questo thread, nulla di chiaro è apparso, penso che non si possa affatto rispondere ad alcuna domanda tu hai posto.
    Ti comprendo su un punto, nel quale anch'io non mi ci rivedevo mai nei manuali di Access. Purtroppo vengono fatti esempi di tabelle (es. Northwind) che nulla hanno a che vedere con il tema del proprio progetto database e questo depista spesso e volentieri la comprensione di questo o quell'argomento. Se solo quest'ultima mia argomentazione può farti sentire sulla stessa barca di qualcunaltro (mia), allora ribadisco le mie tre domande di sopra.
    Però mo, bello bello, piano piano, passo passo: la gatta frettolosa fece i mici ciechi!
  • Re: Problema nel creare un campo di ricerca

    Il database serve a contenere 3 listini (poi be si puo sempre ampliare e migliorare ma per il momento mi sembrerebbe gia natale vederlo funzionare) i quali devo poter editare quasi interamente trammite una maschera, inserire i dati in una tabella ed esportare i dati in excel. Il tutto serve per importare il file in excel creato trammite esportazione nel vero gestionale che supporta male alcune peculiarità lavorative che abbiamo nell'attività e dei nostri listini.

    Allora cerco di rispiegare quello che volevo fare e qual'era la mia idea

    Ho tre listini i quali campi che utilizzerò sono
    -Codice articolo
    -Descrizione 
    -Nome produttore 
    -Barcode 
    -qta pezzi dentro un collo 
    -Prezzo di vendita
    La maschera deve contenere

    -Selezione del Fornitore
    -Campo di ricerca codice/barcode
    -I seguenti campi
    -Codice articolo (campo informativo)
    -Descrizione (campo modificabile)
    -Nome produttore (campo informativo) 
    -Barcode (campo informativo)
    -qta pezzi dentro un collo (campo informativo)
    -Prezzo di vendita (campo modificabile)
    -Prezzo di vendità finale (campo modificabile)
    -Sconto (questo è un campo calcolato attraverso prz iniziale e prz finale) (campo informativo)
    -Qta colli (campo con numero di partenza uno ma modificabile)
    -Qta totale (campo calcolato trammite qta collo x qta pezzi per collo  che non deve registrarsi nel database ma solo nella lista articoli da esportare)
    -Tabella riassuntiva dei valori descritti sopra con possibilità di modifica prodotto inserito ed esportazione in exel
  • Re: Problema nel creare un campo di ricerca

    pollopopo ha scritto:


    Ho tre listini i quali campi che utilizzerò sono
    Codice: Seleziona tutto
    -Codice articolo
    -Descrizione
    -Nome produttore
    -Barcode
    -qta pezzi dentro un collo
    -Prezzo di vendita
    Partiamo da questa tua affermazione/intento. Tutto il resto viene molto molto dopo e dobbiamo tralasciarlo.
    Non ha senso parlare di 3 listini = 3 tabelle. In Access occorre individuare i dati omogenei e raggrupparli, possibilmente pezzo a pezzo, in più tabelle che devono correlarsi fra di loro. Io ci vedo il seguente scenario di partenza (non è detto che sia definitivo), che significa "elenco tabelle e relazioni":

    Articoli
    IDArticolo (io preferisco chiamarlo così, è più semplice e stringato, ma equivale al tuo Codice Articolo) (Contatore, chiave primaria)
    Descrizione (Testo)
    IDProduttore (Numerico)
    Barcode (Testo)

    Produttori
    IDProduttore (Contatore, chiave primaria)
    RagioneSociale
    Indirizzo
    Città
    ...insomma tanti altri campi che possono essere utili per descrivere ogni Produttore univocamente

    Relazioni:
    Produttori.IDProduttore uno-a-molti con Articoli.IDProduttore (la parola a sinistra a del punto significa il "nome della tabella", la parola a destra del punto significa il "nome del campo")

    I campi [Quantità pezzi dentro un collo] e [PrezzoVendita] non sono campi "strettamente legati" all'Articolo, ma saranno frutto di qualcosaltro (forse query, forse altre tabelle) da vedersi in una analisi successiva.
    Posso stare tranquillo che un Articolo viene prodotto da un solo Produttore? Io penso di sì, quindi ecco perchè occorre separare i Produttori in una tabella a parte e relazionarla con Articoli, perchè un Produttore produce molti Articoli.
    Il campo Barcode, per ora sta lì, però, non ho mai capito come funziona. Questo devi dirmelo tu.
    Un pacco di pasta Barilla da 500gr. prodotto il 1/1/2000 con scadenza 31/12/2002 ha lo stesso Barcode di un pacco di pasta Barilla da 500gr. prodotto il 1/1/2013 con scadenza 31/12/2015?
    Per ora mi fermerei qui. Devi dirmi se ci capisci qualcosa. Direi che dovresti cambiare il titolo del thread oppure postarne di nuovi ogni volta che cambia il senso del discorso. A quello che vuoi realizzare tu ci dobbiamo arrivare piano piano secondo una prima strada che sto tentando di aprirti.
  • Re: Problema nel creare un campo di ricerca

    STo cercando di capire tutto, studio un attimo sopra cio che dici e ti faccio risapere

    Comunque non mi serve un gestionale vero e propio (anagrafica fornitori ecc...), e quando parlo di tre listini non intendo tre tabelle ma di una con i campi elencati sopra più un campo apposito che identifica i record con una breve sigla (ID Fornitore) aggiungendo quindi nella maschera un filtro che combinato con il campo di ricerca dovrebbe dare il risultato sperato. Ovviamente è una mia idea che all'atto pratico dall'alto della vostra esperienza potreste sconsigliare o peggio ancora definire molto difficile da creare.

    Rimane di fatto che mi serve un contenitore per questi 3 listini, una maschera per poterli editare con al suo interno una tabella dove posso inserirli per esportarli in excel. Il tutto serve per costruire un carico di magazzino che putroppo il gestionale vero che ho non supporta nella dovuta maniera con questi tre listini (barcode identici sul alcuni prodotti ecc.... creando confusione con i codici articoli ecc...) e quindi vado ad importare ed aggiornare atraverso il file excel l'anagrafica del mio vero gestionale.
  • Re: Problema nel creare un campo di ricerca

    pollopopo ha scritto:


    Comunque non mi serve un gestionale vero e propio (anagrafica fornitori ecc...)
    La creazione di una apposita tabella Produttori (o Fornitori) è contingente all'insieme dei dati che ti sei preposto di memorizzare. Access sviluppa questo tipo di memorizzazione attraverso l'accantonamento da qualche parte (quindi tabella) di questi dati omogenei (Produttori). La tabella Produttori tu ce la devi avere. Che poi ne farai un uso marginale...staremo a vedere.

    pollopopo ha scritto:


    quando parlo di tre listini non intendo tre tabelle ma di una con i campi elencati sopra più un campo apposito che identifica i record con una breve sigla (ID Fornitore) aggiungendo quindi nella maschera un filtro che combinato con il campo di ricerca dovrebbe dare il risultato sperato
    Quell'insieme di campi che hai indicato non può essere reso omogeneo in un'unica Tabella (nel senso di Tabella di Access), ma sarà il risultato di una Query (ancora da costruire, ancora da analizzare, ancora da maturare). Le query hanno un look "foglio dati", cioè tale e quale a quello delle tabelle, per questo movito potresti aver preso un abbaglio da qualche parte. Ma le query sono delle domande che vengono poste alle tabelle del database in base a una serie di considerazioni (campi da scegliere, relazioni, filtri ecc...)...anche qui siamo ancora molto lontani dalle prime cellule di tabelle che stiamo faticosamente tentando di costruire.

    pollopopo ha scritto:


    Rimane di fatto che mi serve un contenitore per questi 3 listini, una maschera per poterli editare con al suo interno una tabella dove posso inserirli per esportarli in excel. Il tutto serve per costruire un carico di magazzino che putroppo il gestionale vero che ho non supporta nella dovuta maniera con questi tre listini (barcode identici sul alcuni prodotti ecc.... creando confusione con i codici articoli ecc...) e quindi vado ad importare ed aggiornare atraverso il file excel l'anagrafica del mio vero gestionale.
    Ti ho già detto che questi obiettivi sono ancora molto lontani. Ti consiglio di scordartene per il momento. La fase preparatoria di un database è sempre ricca di insidie, facili errori, continue revisioni affinchè l'obiettivo finale che tu ti aspetti sia veramente realizzato.
  • Re: Problema nel creare un campo di ricerca

    Quindi in soldoni io devo andare a creare diverse tabelle per suddividere i dati nella corretta maniera e costruire le query per unirle e poterci far lavorare sopra le maschere, o erro??

    il Problema è che è facile che i miei fornitori modifichino decine di articoli (codice, barcode ecc..) con discreta frequenza e quindi sbaglio o per eseguire un aggiornamento di queste tabelle (attravero i listini in excel) c'è da lavorarci sopra un pò ber avere un discreto e funzionale automatismo

    Il mio più grande difetto è che ragiono con access un po troppo come se fosse excel
  • Re: Problema nel creare un campo di ricerca

    Come hai compreso Access non è EXCEL...!
    In un DB Relazionale non si lavora con la logica dei FOGLI... è tutt'altro.

    I Database RELAZIONALI vanno STRUTTURATI seguendo delle REGOLE scritte, che sono definite NORMALIZZAZIONE, sono 5 regole, ma hanno pubblicato libri da 1000Pagine per spiegarla, e si sostengono esami universitari su questo argomento.

    Banalizzandolo, perchè è ovvio che non a tutti serva approfondire nel più piccolo aspetto tecnico, quello che è indispensabile è NON VIOLARE le 5 REGOLE in fase di progettazione.
    In particolare le prime 3 dovresti conoscerle bene come concetti principali, e credo che nel tuo caso possa servire la 4°....

    Per non violarle serve conoscerle un minimo... e, purtroppo quello che spessissimo fa chi proviene da EXCEL è pensare di aver capito come si struttura un DB...

    Personalmente non ho mai trovato un metodo alternativo allo studio per apprendere qualche cosa in modo TECNICO, cercando di perdere il minor tempo possibile...!
    Ovviamente c'è chi è portato e nel fai da te... impara con poco...

    Riassunto il concetto, non serve fare TANTE TABELLE, ma quelle giuste, Osvaldo ha cercato di darti alcuni dei principi di ragionamento... ma se non comprendi il METODO...
  • Re: Problema nel creare un campo di ricerca

    pollopopo ha scritto:


    Quindi in soldoni io devo andare a creare diverse tabelle per suddividere i dati nella corretta maniera e costruire le query per unirle
    Questo è già un piccolo passo logico in avanti

    pollopopo ha scritto:


    e poterci far lavorare sopra le maschere, o erro??
    Dipende. Le maschere funzionano meglio sulle tabelle, meglio ancora sulle tabelle correlate (uno-a-molti) ottenendo il tipico look maschera/sottomaschera...bla...bla...bla. Raramente le maschere conviene costruirle sulle query: deve esserci un reale motivo per farlo.

    pollopopo ha scritto:


    il Problema è che è facile che i miei fornitori modifichino decine di articoli (codice, barcode ecc..) con discreta frequenza e quindi sbaglio o per eseguire un aggiornamento di queste tabelle (attravero i listini in excel) c'è da lavorarci sopra un pò ber avere un discreto e funzionale automatismo
    Eh, vedo che cominci a comprendere l'enorme divario logico fra Excel e Access.

    Non vorrei farti entrare in una avventura nel buio (Access), se ritieni di lavorare con più familiarità con Excel. Excel torna molto utile per i calcoli, calcoli e ancora calcoli. Access si presta molto di più per immagazzinare dati, memorizzarli e tirarli fuori in mille modi...non si presta molto per calcoli e ricalcoli...
Devi accedere o registrarti per scrivere nel forum
13 risposte