Newsgroup: it.comp.appl.access
Titolo: [HELP] Problemi da Niubba con Access

Buongiorno a tutti voi del NG! Spero che possiate aiutarmi, mi è stato
chiesto per lavoro di creare un DB per archiviare le anagrafiche dei
nostri clienti, i loro ordini ecc. Sono completamente a zero con la
conoscenza di questo programma e mi sono servita di vari tutorial
trovati online.
Ho cominciato creando con 5 tabelle:
1) Studenti
2)Aziende
3)Docenti
4)Ordini
5)Dettagli Ordine
Ognuna di queste tabelle è stata messa in relazione tramite l'apposito
pulsante, ma non saprei verificare se le relazioni funzionano. Secondo
i tutorial in ogni tabella era necessario inserire un campo denominato
ID per identificare univocamente ogni record e metterlo in relazione
con le altre tabelle.
Fatto ciò ho creato una Query, relazionata per il momento alla tabella
studenti e Ordini e poi una maschera. Il criterio che ho messo è
"Cognome", quindi ogni qual volta vado ad aprire la maschera della
query mi viene richiesto il cognome e mi si apre la maschera con le
informazioni che mi interessano su quel dato record.
Ora, posto che la mia conoscenza di access è pari allo 0,5 e che non
posso ambire ad una elevata programmazione quello di cui avrei bisogno
e per il quale chiedo il vostro aiuto è:
1) Oltre alla ricerca per cognome, vi è la possibilità di digitare
solo la lettera B ad esempio e mi escono tutti i risultati che
iniziano per B? Oppure si può aprire l'intera lista e cercare dalla
maschera?
2) Una volta aperta la maschera è possibile digitare in uno dei campi
un valore relativo ad un record e che appaia in quella maschera
stessa? Qualcosa tipo il pulsante Trova, ma che non va bene....
P.s. se già risolvessi queste due sarebbe tantissimo!!
3) Nella suddetta query ho richiesto che prelevasse informazioni dalla
tabella studenti ed ordini, pensando che tramite gli ID si potessero
mettere in relazione. Invece l'esattezza delle informazioni che
compaiono non è dovuta agli ID ma al fatto che sono messi in ordine
(non so se mi spiego)
Studente 1-- Ordine 1
Studente 2 -- Ordine 2
se invece metto Studente 2, ma l'ordine corrispondente sta al rigo 4
della tabella ordini si sballa tutto l'ambaradan...l
Per piacere qualcuno di voi può darmi una dritta??
Grazie mille
Alessandra

 ha scritto nel messaggio 
news:16cf5a89-5875-4c49...@c3g2000yqd.googlegroups.com...
Buongiorno a tutti voi del NG! Spero che possiate aiutarmi, mi � stato
chiesto per lavoro di creare un DB per archiviare le anagrafiche dei
nostri clienti, i loro ordini ecc. Sono completamente a zero con la
conoscenza di questo programma e mi sono servita di vari tutorial
trovati online.
Ho cominciato creando con 5 tabelle:
1) Studenti
2)Aziende
3)Docenti
4)Ordini
5)Dettagli Ordine
Ognuna di queste tabelle � stata messa in relazione tramite l'apposito
pulsante, ma non saprei verificare se le relazioni funzionano. Secondo
i tutorial in ogni tabella era necessario inserire un campo denominato
ID per identificare univocamente ogni record e metterlo in relazione
con le altre tabelle.
Fatto ci� ho creato una Query, relazionata per il momento alla tabella
studenti e Ordini e poi una maschera. Il criterio che ho messo �
"Cognome", quindi ogni qual volta vado ad aprire la maschera della
query mi viene richiesto il cognome e mi si apre la maschera con le
informazioni che mi interessano su quel dato record.
Ora, posto che la mia conoscenza di access � pari allo 0,5 e che non
posso ambire ad una elevata programmazione quello di cui avrei bisogno
e per il quale chiedo il vostro aiuto �:
1) Oltre alla ricerca per cognome, vi � la possibilit� di digitare
solo la lettera B ad esempio e mi escono tutti i risultati che
iniziano per B? Oppure si pu� aprire l'intera lista e cercare dalla
maschera?
2) Una volta aperta la maschera � possibile digitare in uno dei campi
un valore relativo ad un record e che appaia in quella maschera
stessa? Qualcosa tipo il pulsante Trova, ma che non va bene....
P.s. se gi� risolvessi queste due sarebbe tantissimo!!
3) Nella suddetta query ho richiesto che prelevasse informazioni dalla
tabella studenti ed ordini, pensando che tramite gli ID si potessero
mettere in relazione. Invece l'esattezza delle informazioni che
compaiono non � dovuta agli ID ma al fatto che sono messi in ordine
(non so se mi spiego)
Studente 1-- Ordine 1
Studente 2 -- Ordine 2
se invece metto Studente 2, ma l'ordine corrispondente sta al rigo 4
della tabella ordini si sballa tutto l'ambaradan...l
Per piacere qualcuno di voi pu� darmi una dritta??
Grazie mille
Alessandra
-------------  RISPOSTA  --------------
Troppe richieste-domande per un solo thread !!!!
Vediamo se posso esserti d'aiuto senza entrare troppo nello specifico. 
Lavoriamo per esempi.
Hai giustamente creato ogni tabella col proprio campo ID che � la chiave 
univoca del record. Quindi la tabella 1 contiene l'anagrafica che ti 
interessa. Per es.:
ID    COGNOME    NOME    EMAIL
1        Pinco                Pallino    aaa@bbb
2        Tizio                Alberto    ccc@ddd
3        Caio                Biagio
La tabella 2 contiene gli ordini fatti da ogni anagrafico. Per evitare la 
ridondanza dei dati, su questa tabella non ci sono cognome e nome, bens� un 
ID di riferimento che � la chiave di collegamento alla prima tabella. La 
struttura della tabella 2 potrebbe essere questa:
ID    SIGLA_ORDINE    DATA_ORDINE    ID_ANAGRAFICO
1                Ord 1                    01/07/2009                    2
2                Ord 2                    13/08/2009                    1
e cos� via.
La query di selezione serve principalmente a creare un recordset (virtuale) 
in cui attacca in modo logico il contenuto della tabella 1 con quello della 
tabella 2. Per esempio, una query potrebbe sviluppare il seguente recordset:
ID    SIGLA_ORDINE    DATA_ORDINE    ID_ANAGRAFICO    COGNOME    NOME
1                Ord 1                    01/07/2009                    2 
Tizio            Alberto
2                Ord 2                    13/08/2009                    1 
Pinco            Pallino
Ora, se tu vuoi aggiornare la tabella anagrafica, non � una buona norma 
mettere il criterio del cognome nella query, ma fare in modo che con una 
casella combinata vai a ricercare il cognome da aggiornare. Quindi potresti 
basare la maschera direttamente sulla tabella 1 (ma sarebbe meglio basarla 
su una query che si limiti a dare un ordine alfabetico a tutti i records) e 
poi creare un'altra query che ti estrapola solo i cognomi dalla stessa 
tabella. Questa seconda query potrebbe essere utilizzata per creare la 
casella combinata di cui parlavo prima.
...lo so, specialmente in quest'ultima parte sono stato pi� confusionario, 
ma capirai bene che il newsgroup non pu� essere un corso su Access.
Ciao
Antonio

 Per piacere qualcuno di voi pu� darmi una dritta??
sempre meglio che una storta.

 ma capirai bene che il newsgroup non può essere un corso su Access.
No hai ragione, speravo solo di fare bella figura con il capo :)

 sempre meglio che una storta.
ah di sicuro.
Grazie del supporto!

 ma capirai bene che il newsgroup non pu� essere un corso su Access.
No hai ragione, speravo solo di fare bella figura con il capo :)
----------  RISPOSTA  -------------
Allora, siamo rimasti che tu hai una query che ti forma un recordset 
attaccando i campi dei record della tabella 1 con quelli della tabella 2.
Poi hai anche una maschera masata su questa query che serve per aggiornare i 
vari dati. Tale maschera � stata generata automaticamente.
Ora, se apri la maschera in struttura, puoi aggiungere degli ulteriori 
controlli. Aggiungi un controllo "Casella combinata". Se � attiva la 
"Creazione guidata controllo", ti verranno poste delle domande per costruire 
automaticamente questo controllo, con un meccanismo simile a quello usato 
per la creazione della maschera. Alla prima domanda che ti fa devi scegliere 
la terza voce, ovvero "Trova un record nella maschera basato... etc." e, 
scegliendo con razionalit� le risposte alle domande successive, alla fine ti 
genera le istruzione nell'evento afterupdate che servono proprio a 
posizionarti sul record che vuoi aggiornare.
Ciao
Antonio

 scegliendo con razionalità le risposte alle domande successive, alla fine ti
Ovviamente con la mia fortuna....arrivo a fare questo e mi esce un
errore!
"Impossibile recuperare dati dall'origine selezionata. Per continuare,
scegliere un'altra tabella o query"
:(

 :(
Vedi:
http://www.accessgroup.it/HomeArgomenti.asp?ID=19&Oggetto2=List
 box e
combo box
--
sv
PS: e per la prossima volta mi raccomando un subject appropriato :-))
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 ti
Ovviamente con la mia fortuna....arrivo a fare questo e mi esce un
errore!
"Impossibile recuperare dati dall'origine selezionata. Per continuare,
scegliere un'altra tabella o query"
:(
--------------  RISPOSTA  -------------
Per questo ti avevo consigliato di partire in modo semplice: costruisci una 
o due tabelle, metti dentro qualche dato, crei una query di selezione che 
attacca i campi dell'una con quelli dell'altra e poi, dopo aver verificato 
che la query ti dia proprio i records che ti aspettavi, cominci a costruire 
la maschera. Fatta la maschera, la integri con la casella combinata che ti 
avevo suggerito... non � questione di fortuna, anzi, posso dirti che sei 
stata fortunata ad avere avuto subito l'errore; ti immagini che figura 
avresti fatto se l'errore fosse venuto fuori quando fossi andata a 
consegnare il lavoro ?
Buona serata
Antonio

 PS: e per la prossima volta mi raccomando un subject appropriato :-))
Il subject mi sembrava l'unica cosa fatta per bene :-P
Ringrazio tutti voi che mi avete risposto ma ovviamente non sono
riuscita a procedere e mi sto avvalendo di una collaborazione esterna,
speriamo di farcela!
Grazie a tutti e buona giornata
Alessandra

 consegnare il lavoro ?
Voglio sperare  che non sarò mai così fuori di zucca da consegnare un
qualsiasi lavoro prima di controllarlo 700 volte ;-))
Ciao e grazie
Alessandra