Condividi:        

[Access 2000]inserimento di più record contemporaneamente

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 27/03/09 09:57

Salve a tutti,
sono qui a chiedervi un aiuto o una guida verso qualcosa che non so assolutamente fare!

Sto preparando un database che servirà per archiviare le assegnazioni di materiale fatte al personale.
Uso Access da un po', ma non mi sono mai addentrato in cose molto complicate.

Per questo nuovo progetto ho preparato la tabella anagrafica, la tabella dei prodotti (del materiale che sarà assegnato) e una tabella "assegnazioni" con la data nella quale viene fatta l'assegnazione.

(Ah! Premetto che non c'è nessuna necessità di fare rapporti sulle quantità: non serve di sapere quanti oggetti y sono in magazzino... o cose di queste tipo. le assegnazioni saranno sempre unitarie nella stessa assegnazione. tutto quello che serve è che il db generi a richiesta la "scheda" di ogni individuo con lo storico di tutti prodotti (quindi solo con la data) che ha ricevuto. Non ci sarà neanche necessità di passaggio inverso.. cioè nessun dipendente farà mai resi di materiale.)

Ho pensato, quindi, che la relazione fra assegnazione e personale e tra assegnazione e prodotti è per entrambi molti a molti. e ho quindi preparato due tabelle transitorie...

Ora, che succede? Con le mie capacità riesco tranquillamente a fare delle query che mi servano poi per fare delle maschere dove inserisco, per un determinato individuo, un numero qualsiasi di articoli consegnati o, eventualmente, di "stock" (cioè di più materiali nella stessa data, ecco il perchè della relazione molti a molti anche tra assegnazioni e prodotti)...

MA... non so assolutamente come fare, ed è di utilità infinita, a realizzare un sistema con il quale posso preparare uno o più articoli ed inviarlo CON UN'UNICA OPERAZIONE ad un certo gruppo di persone, o a tutte insieme. Considerate che nella tabella anagrafica ci sono dei campi che possono fungermi da "sottoinsiemi" per queste operazioni (e che sono già state divise in altre tabelle come regola vuole... vedi... tabelle TURNO, SEDE DI LAVORO, QUALIFICA ecc...).

Spero di essere stato quanto più chiaro possibile, e vi ringrazio veramente tanto per l'aiuto.
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Sponsor
 

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 27/03/09 11:35

ooops ha scritto:ho preparato la tabella anagrafica, la tabella dei prodotti (del materiale che sarà assegnato) e una tabella "assegnazioni" con la data nella quale viene fatta l'assegnazione.
Tre tabelle quindi, giusto?
ooops ha scritto:la relazione fra assegnazione e personale e tra assegnazione e prodotti è per entrambi molti a molti. e ho quindi preparato due tabelle transitorie...
Questa non l'ho capita: non basta una tabella con IDAssegnazione, IDProdotto e IDPersona?
ooops ha scritto:realizzare un sistema con il quale posso preparare uno o più articoli ed inviarlo CON UN'UNICA OPERAZIONE ad un certo gruppo di persone, o a tutte insieme.
Preparare e inviare sono termini un po' troppo generici: il tuo problema è fare la form o scrivere il codice per inserire i dati nelle tabelle?
ooops ha scritto:nella tabella anagrafica ci sono dei campi che possono fungermi da "sottoinsiemi" per queste operazioni
Un esempio concreto (corredato dal nome reale delle tabelle e dei campi coinvolti) potrebbe giovare.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 27/03/09 14:17

Ciao Alessandro, grazie della tua disponibilità. Allora:

Questa non l'ho capita: non basta una tabella con IDAssegnazione, IDProdotto e IDPersona

Oddio forse mi sono spiegato male, ti scrivo i nomi reali delle tabelle e dei campi:

TABELLA Personale
IDPersonale e poi, nome, cognome, ecc. ecc. alcuni campi qui poi sono ID di altre tabelle correlate tipo IDTurno, IDQualifica... ognuno relazionato alla relativa tabella.

TABELLA Prodotti
IDProdotto, Nome e Descrizione... e basta. più che sufficiente

TABELLA Assegnazioni
IDAssegnazione, data dell'assegnazione... e poi a questa tabella ho allacciato due tabelle transitorie visto che ho pensato: Una assegnazione può comprendere più persone e una persona può usufruire di diverse assegnazioni (per relazione con tabella personale) e una assegnazione può comprendere uno stock di prodotti, quindi più prodotti così come un prodotto può essere distribuito in diverse assegnazioni (per relazione con tabella prodotti).
Penso sia giusto no?.... o ne bastano solo 3 di tabelle? :roll:

Preparare e inviare sono termini un po' troppo generici: il tuo problema è fare la form o scrivere il codice per inserire i dati nelle tabelle?

Hai ragione perdonami: no la maschera non credo di avere problemi nel realizzarla... solo che saprei farla solo come assegnazione ad una singola persona :-? non so come progettare una maschera dove posso, con una sola operazione assegnare materiale ad un gruppo di persone. quindi, con i nomi reali diciamo che non so come fare per far "riempire" di record la tabella Assegnazioni dove l'IDprodotto rimane quello per tutti i record ma ogni record riporta OGNI IDpersonale disponibile in tabella personale o, addirittura sarebbe fantastico, con la possibilità di inserire una condizionale della tabella Personale per decidere a chi assegnare e a chi no... (tale valore nel campo turno... o tale IDQualifica, ecc. ecc..).

Spero di essere stato un po' più chiaro :) grazie!
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 27/03/09 14:49

ooops ha scritto:Una assegnazione può comprendere più persone e una persona può usufruire di diverse assegnazioni (per relazione con tabella personale) e una assegnazione può comprendere uno stock di prodotti, quindi più prodotti così come un prodotto può essere distribuito in diverse assegnazioni (per relazione con tabella prodotti).
Penso sia giusto no?.... o ne bastano solo 3 di tabelle?
Quindi, oltre alle tre tabelle da te descritte, ne hai una che associa le Assegnazioni ai Prodotti (IDAssegnazione, IDProdotto) e una che associa le Assegnazioni alle Persone (IDAssegnazione, IDPersonale)? Deduco che a una persona puoi associare un'intera Assegnazione, non solo alcuni prodotti di una Assegnazione, giusto?
ooops ha scritto:non so come progettare una maschera dove posso, con una sola operazione assegnare materiale ad un gruppo di persone
Dovrai scrivere un minimo di codice, se ho capito bene. Ad esempio fai una maschera dove scegli una Assegnazione e un Turno (o una Qualifica): al bottone "Invia" dovrai associare un pezzo di codice (o forse una query può bastare) che prende tutte le Persone che corrispondono al criterio e le associa a quell'Assegnazione (cioè riempie la tabella IDAssegnazione / IDPersonale). Se è questo che vuoi fare, dovrai anche decidere cosa fare se a quell'Assegnazione è già associato del Personale: cancelli le associazioni esistenti o le mantieni aggiungendo le nuove?

Che codice scrivere dipende dall'interfaccia che hai in mente di realizzare.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 30/03/09 08:12

Grazie Alessandro!

Quindi, oltre alle tre tabelle da te descritte, ne hai una che associa le Assegnazioni ai Prodotti (IDAssegnazione, IDProdotto) e una che associa le Assegnazioni alle Persone (IDAssegnazione, IDPersonale)? Deduco che a una persona puoi associare un'intera Assegnazione, non solo alcuni prodotti di una Assegnazione, giusto?


Si esatto, se creo un "stock" di prodotti da assegnare, ogni persona o lo riceve o no. se dovessi assegnare un prodotto singolo creerei una assegnazione con un singolo prodotto. Però giustamente, dopo la tua osservazione, pensavo: facendo una sola tabella intermedia dove metto tutte e tre gli ID sbaglio? perchè giustamente avrei l'ID chiave primaria della tabella di transizione, l'ID dell'assegnazione, l'ID del prodotto e l'ID della persona. potrei evitarmi una tabella no? Considera che nella tabella assegnazione ci sarebbe solo il campo ID e un campo data assegnazione, non è importante inserire quantità nella tabella dei prodotti. Quando farò i report la cosa importante è che, per esempio ricercando un nominativo, mi esca lo storico per singolo articolo, con le date di assegnazione.

Dovrai scrivere un minimo di codice, se ho capito bene. Ad esempio fai una maschera dove scegli una Assegnazione e un Turno (o una Qualifica): al bottone "Invia" dovrai associare un pezzo di codice (o forse una query può bastare) che prende tutte le Persone che corrispondono al criterio e le associa a quell'Assegnazione (cioè riempie la tabella IDAssegnazione / IDPersonale). Se è questo che vuoi fare, dovrai anche decidere cosa fare se a quell'Assegnazione è già associato del Personale: cancelli le associazioni esistenti o le mantieni aggiungendo le nuove?

Che codice scrivere dipende dall'interfaccia che hai in mente di realizzare


Quello che ti scrivevo prima risponde anche al quesito sulla necessità di cancellare o meno. Siccome la tabella assegnazione contiene la data di assegnazione in realtà in questo modo (è quello che vorrei) i prodotti sono svincolati dall'unica assegnazione. cioè posso (devo) poter riassegnare lo stesso prodotto allo stesso personale in data diversa perchè appunto il campo data è incluso nella tabella assegnazioni. la necessità di cancellazione dei dati di accodamento non si pone. Per quanto riguarda l'interfaccia, userei sempre Access. Il problema si crea perchè non lo utilizzerò io :D ma una persona che non ha molte conoscenze informatiche e per la quale non vorrei accesso diretto alle tabelle, ma la creazione di qualche maschera adatta allo scopo. Adesso che mi hai descritto brevemente... dal punto di vista logico credo di aver capito (ma non saprei proprio come fare a tradurlo in codice :( ) : praticamente faccio una query preventiva dalla tabella personale con i criteri che più mi servono (turno, qualifica o altro) e ne ricavo gli ID personali che servono.... e poi... e non so proprio come si fa... dovrei fare una specie di query di accodamento che mi riporta gli ID fino a qui recuperati dentro la tabella di transizione e per ogni record compila automaticamente (beccando i valori da qualche form suppongo) il campo ID assegnazione e quello ID prodotto...
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 30/03/09 10:13

ooops ha scritto:facendo una sola tabella intermedia dove metto tutte e tre gli ID sbaglio? perchè giustamente avrei l'ID chiave primaria della tabella di transizione, l'ID dell'assegnazione, l'ID del prodotto e l'ID della persona. potrei evitarmi una tabella no? Considera che nella tabella assegnazione ci sarebbe solo il campo ID e un campo data assegnazione, non è importante inserire quantità nella tabella dei prodotti.
Perdonami ma a questo punto mi sfugge l'utilità della tabella Assegnazione. Se il suo unico scopo è quello di associare Prodotti e Persone, allora farei senz'altro un'unica tabella:

IDProdotto (PK)
IDPersona (PK)
DataAssegnazione (PK)
ooops ha scritto:Per quanto riguarda l'interfaccia, userei sempre Access.
Quello che intendevo è: l'utente che cosa vede a video? In altre parole, quali maschere e reports ti sei immaginato di realizzare con Access affinché l'utente possa popolare e interrogare questi dati?

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 31/03/09 12:45

Perdonami ma a questo punto mi sfugge l'utilità della tabella Assegnazione. Se il suo unico scopo è quello di associare Prodotti e Persone, allora farei senz'altro un'unica tabella:

IDProdotto (PK)
IDPersona (PK)
DataAssegnazione (PK)


si si è esattamente per quello. ho modificato la tabella come mi hai suggerito.

Quello che intendevo è: l'utente che cosa vede a video? In altre parole, quali maschere e reports ti sei immaginato di realizzare con Access affinché l'utente possa popolare e interrogare questi dati?


l'idea è quella di fare una maschera dove può essere selezionato nell'ordine:

- un campo per fare ricerca e selezione del nome del prodotto da assegnare (singolo è già sufficiente... se fosse possibile selezionarne più di uno ancora meglio... ma uno va benissimo)
- un campo dove inserire la data di assegnazione
- una serie di opzioni per filtrare i dati della tabella personale (singolo individuo, quindi per nome e cognome, gruppo per turno, per sede di lavoro, oppure tutte le persone
ed infine il pulsante che vorrei generasse questi record, ovvero nella tabella di transizione tanti record, compilati con l'ID prodotto scelto e con la data immessa nella maschera, quanti sono gli IDPersona filtrati.

spero di essere stato chiaro... grazie davvero infinite per l'aiuto
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 31/03/09 17:04

ooops ha scritto:l'idea è quella di fare una maschera dove può essere selezionato nell'ordine:

- un campo per fare ricerca e selezione del nome del prodotto da assegnare (singolo è già sufficiente... se fosse possibile selezionarne più di uno ancora meglio... ma uno va benissimo)
- un campo dove inserire la data di assegnazione
- una serie di opzioni per filtrare i dati della tabella personale (singolo individuo, quindi per nome e cognome, gruppo per turno, per sede di lavoro, oppure tutte le persone
ed infine il pulsante che vorrei generasse questi record, ovvero nella tabella di transizione tanti record, compilati con l'ID prodotto scelto e con la data immessa nella maschera, quanti sono gli IDPersona filtrati.
Premessa: con Access ormai non lavoro più da anni (essendo passato a Linux ho problemi anche solo a fare delle prove), per cui:

1) i miei consigli prendili con le pinze
2) in alcune cose non potrò supportarti più di tanto

Detto questo, svilupare una sola form che faccia tutte quelle robe credo richieda uno sforzo notevole, soprattutto se Access non lo conosci un gran che. Consiglio quindi di fare form diverse per ciascuna funzionalità, tipo:

- una form con una combo box per scegliere un prodotto, un'altra per scegliere il singolo individuo e un campo per inserire la data (inserisce un singolo record nella tabella Assegnazioni)
- una form con una combo box per scegliere un prodotto, un'altra per scegliere un turno e un campo per inserire la data (inserisce tanti records quante sono le persone assegnate a quel turno nella tabella Assegnazioni)
- ecc.

Forse non è quello che sognavi ma, almeno come inizio, è senz'altro più semplice da realizzare (e, secondo me, da usare).

Nello sviluppo delle form non potrò esserti molto di aiuto, ma Access dovrebbe essere sufficientemente intuitivo. Se hai bisogno di una mano per le queries di inserimento e/o il codice VBA posta pure qui (una volta realizzata la singola form).

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 02/04/09 10:11

Grazie Alessandro,

- una form con una combo box per scegliere un prodotto, un'altra per scegliere il singolo individuo e un campo per inserire la data (inserisce un singolo record nella tabella Assegnazioni)


ok. per form intendi una maschera giusto? va bene, riesco a fare maschere semplici. però poi non so assolutamente niente su come collegarle tra loro. Mi spiego meglio: realizzo una maschera con una combo box (mi basta un elenco a discesa, la tabella prodotti conta una ventina di record e non sono così suscettibili di ampliamento) che pesca dalla tabella prodotti. ok. però poi non so assolutamente cosa fare con questa "selezione" fatta :( sicuramente è un mio limite, per questo, nel descrivere la maschera che volevo realizzare, ti ho descritto i box tutti nella stessa maschera. semplicemente perchè pensavo di lavorare da subito sulla tabella di transizione, quella che andrebbe popolata dai record, giusto? come faccio invece a "legare" tra di loro maschere diverse? è un passaggio davvero importante che può farmi capire un sacco di cose. cioè letteralmente: come dico al programma "ok, adesso io ho compilato il campo X oppure o fatto una selezione di valori y da questa tabella... adesso TRATTIENI queste informazioni e TRANSITALE come valore dei campi in quest'altra tabella/maschera"?

Spero di essere stato chiaro :D mi scuso in anticipo se risulta tutto contorto, sono pronto a cercare di esprimermi meglio se servisse.

Nel frattempo, sto realizzando le singole maschere. partendo dal tuo primo punto: la combo box per scegliere il prodotto deve essere un box che ricava i dati dalla tabella Prodotti, campo NomeProdotto... giusto?
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 03/04/09 08:37

No, mi sono spiegato male: intendevo una maschera per ogni "tipo di inserimento". Esempio:

Maschera "Assegnazione Prodotto a Singola Persona" che contiene:
- combo box prodotti
- combo box persona
- campo testo data
- bottone registra

Quando clicchi sul bottone il codice associato al bottone si occuperà della registrazione dei dati inseriti nei campi della maschera.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 03/04/09 10:46

archimede ha scritto:No, mi sono spiegato male: intendevo una maschera per ogni "tipo di inserimento". Esempio:

Maschera "Assegnazione Prodotto a Singola Persona" che contiene:
- combo box prodotti
- combo box persona
- campo testo data
- bottone registra

Quando clicchi sul bottone il codice associato al bottone si occuperà della registrazione dei dati inseriti nei campi della maschera.

HTH.

Alessandro


Ah perfetto! ancora meglio, allora comincio con fare questa, la chiamiamo proprio "Assegnazione prodotto a singola persona".

Ho creato la maschera da struttura... ho fatto i combo box con origine dati dalle rispettive tabelle nascondendo l'Id di riferimento... la combo dei prodotti è di tipo elenco a discesa. quella del personale, dovendo utilizzare due campi (nome e cognome) l'ho realizzata con una casella combinata di tipo "aperta" senza discesa... così che sia più facile ricercare i nominativi.
Il campo testo data l'ho creato ex novo... non l'ho collegato a nessuna origine. deve essere così giusto? è ho fomattato l'inserimento come campo data di 6 valori nel formato __/__/__

Il pulsante l'ho solo creato... non ci ho associato nessuna operazione.

Da qui in poi.... non saprei proprio come andare avanti :( ma sono pronto ad imparare :D
attendo istruzioni!
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 06/04/09 13:51

ooops ha scritto:quella del personale, dovendo utilizzare due campi (nome e cognome) l'ho realizzata con una casella combinata di tipo "aperta" senza discesa... così che sia più facile ricercare i nominativi.
Questa non sono sicuro di averla capita (puoi fare una combo anche visualizzando più di 1 campo, se serve) ma non credo sia importante.

Ora devi scrivere il codice del bottone per inserire il nuovo record. Ci sono sicuramente modi più furbi per farlo in Access, ma io non li ricordo... Così dovrebbe funzionare:
Codice: Seleziona tutto
Private Sub NomeBottone_Click()
    Dim db As Database
    Dim rs As Recordset

    Dim strSQL As String
    Dim strSQL_LU As String

    Set db = CurrentDb

    strSQL = "INSERT INTO Assegnazione (IDProdotto, IDPersona, DataAssegnazione)"
    strSQL = strSQL & " VALUES (" & Me.NomeComboProdotto & "," & Me.NomeComboPersona & ",#" & Format(Me.NomeCampoData, "mm/dd/yyyy") & "#)"

    db.Execute strSQL, dbFailOnError
End Sub
Attenzione:

- correggi opportunamente il nome della Sub (NomeBottone_Click)
- correggi opportunamente i nomi dei controlli (Me.<nomecontrollo>)
- correggi opportunamente i nomi della tabella e dei campi (INSERT INTO...)
- la sintassi per le date non sono del tutto sicuro che sia quella: se non lo è dovrai fare un po' di esperimenti
- occhio agli "a capo" nel codice

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 06/04/09 13:53

Scusa, c'era roba di troppo nel codice:
Codice: Seleziona tutto
Private Sub NomeBottone_Click()
    Dim db As Database
    Dim strSQL As String

    Set db = CurrentDb

    strSQL = "INSERT INTO Assegnazione (IDProdotto, IDPersona, DataAssegnazione)"
    strSQL = strSQL & " VALUES (" & Me.NomeComboProdotto & "," & Me.NomeComboPersona & ",#" & Format(Me.NomeCampoData, "mm/dd/yyyy") & "#)"

    db.Execute strSQL, dbFailOnError
End Sub
Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 07/04/09 08:52

Grazie mille Alessandro!!

Allora ho inserito il codice e cambiato tutto quello che mi hai detto... fors eperò mi è sfuggito qualcosa perchè al clic sul pulsante mi si pare il compilatore con evidenziata la riga: "Private Sub Registrasingolo_Click()"

e un messaggio di errore: "tipo definito dall'utente non valido"


forse mi è sfuggita qualche altro correzione da fare rispetto al modello?
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 07/04/09 08:58

mmm rettifico, penso che la magagna sia nella riga "Dim db As Database"

forse devo personalizzare questo mi sa... giusto? :D

Grazie per la pazienza Alessandro! che cosa significano esattamente queste istruzioni? le righe con "Dim <qualcosa> As <qualcosa>" ? così nel frattempo cerco anche di imparare :)
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 08/04/09 09:54

Dim dichiara delle variabili e il loro tipo.

Verifica se in Tools -> References dell'editor Visual Basic è selezionato ActiveX Data Objects (ADO) Library (oppure DAO Object Library, non ricordo quale dei due serve in questo caso).

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 08/04/09 11:28

Funziona Alessandro, grazie! Ho attivato le librerie DAO e ora aggiunge il record.

C'è un sistema per notificare all'utente l'avvenuto inserimento? O almeno diciamo ripulire i campi? Perchè cliccando sul pulsante con il codice rimane tutto compilato (selezioni delle combo box e campo data).

E' stato utilissimo! Sto osservando un po' il codice che mi hai fornito per cercare di estrapolare anche i comandi SQL che sono stati utili allo scopo :)

Pensi sia molto complesso ora creare una maschera che generi un inserimento di record nella tabella assegnazione contemporaneo per più persone?

e ancora, visto che ci sono:

Nel frattempo ho popolato la tabella assegnazioni personalmente direttamente da tabella e ho creato un report per generare una pagina riassuntiva per singolo dipendente, con tipologia di articolo e storico delle date di assegnazione. Mi chiedevo se c'era un sistema più "professionale" per far si che il report in apertura richieda gli estremi del dipendente... io adesso, da profano, non ho fatto altro che generare un report non direttamente dalle tabelle ma da una query che genera un filtro. ti scrivo il codice SQL
Codice: Seleziona tutto
SELECT Personale.Cognome, Personale.Nome, Qualifiche.qualifica, Sedi.Sede, Turni.Turno, [Cognome] & " " & [Nome] AS NeC, Personale.IDImpiegato
FROM Turni INNER JOIN (Sedi INNER JOIN (Qualifiche INNER JOIN Personale ON Qualifiche.IDQualifica = Personale.IDQualifica) ON Sedi.IDSede = Personale.IDSede) ON Turni.IDTurno = Personale.IDTurno
WHERE (((Personale.Cognome)=[inserisci Cognome esatto]) AND ((Personale.Nome)=[inserisci Nome esatto]));
. c'è la possibilità di progettare un sistema di ricerca più dettagliato? esempio: che non richieda esattamente il cognome o il nome esatto, ma che restituisca in elenco i nominativi che soddisfano i parametri di ricerca (tipo che so se digito solo "ini" che mi restituisca tutti i cognomi dove è presente quella stringa) e che poi mi permetta, tramite selezione, di scegliere quale, tra i nominativi filtrati, usare per generare il report?

spero di essere stato abbastanza chiaro.

Grazie ancora!
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 09/04/09 10:17

ooops ha scritto:C'è un sistema per notificare all'utente l'avvenuto inserimento? O almeno diciamo ripulire i campi?
Puoi provare qualcosa tipo:
Codice: Seleziona tutto
MsgBox "Record inserito"
Me!NomeControllo1 = Null
Me!NomeControllo2 = Null
dove NomeControllo1 e 2 sono i nomi dei campi della maschera.
ooops ha scritto:Pensi sia molto complesso ora creare una maschera che generi un inserimento di record nella tabella assegnazione contemporaneo per più persone?
Dipende dai criteri che vuoi usare: nei casi più semplici dovrebbe essere sufficiente modificare la stringa SQL da eseguire.
ooops ha scritto:Mi chiedevo se c'era un sistema più "professionale" per far si che il report in apertura richieda gli estremi del dipendente
Credo che la cosa più semplice sia basare la query sui campi di una maschera tramite la quale chiedere i dati all'utente (più un bottone che lancia il report).
ooops ha scritto:c'è la possibilità di progettare un sistema di ricerca più dettagliato?
Sicuramente, ma credo sarebbe un po' troppo complicato da spiegare qui anche per chi con Access ha dimestichezza (e non è il mio caso).

Ti consiglio di consultare l'help di Access e cercare in giro degli mdb di esempio da cui prendere spunto.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi ooops » 26/05/09 10:11

Salve Alessandro, e salve a tutti quanti.
Resuscito questo post perchè ho ripreso a lavorare sull'archivio in questione dopo una lunga pausa.
La maschera d'inserimento funziona molto bene e te ne sono grato Alessandro.

archimede ha scritto: Sicuramente, ma credo sarebbe un po' troppo complicato da spiegare qui anche per chi con Access ha dimestichezza (e non è il mio caso). Ti consiglio di consultare l'help di Access e cercare in giro degli mdb di esempio da cui prendere spunto.


Ora ti faccio una domanda che sfiora l'arcano :) arrivato a questo punto mi sembra di aver compreso che Access, per quanto intuitivo, è limitato (o forse semplicemente complicato per me) alla realizzazione di interfacce un pochettino più complesse senza l'utilizzo di un codice di programmazione... la mia domanda è: per tua esperienza personale, e per cercare da parte mia di massimizzare il tempo di apprendimento, su quale tipo di programma e/o codice dovrei puntare come "passaggio successivo" alla creazione di archivi? Spero di averti chiarito il più possibile la tipologia di archivi che mi piacerebbe trattare. Niente di straordinariamente complesso, ma almeno un sistema che permetta di creare maschere/report con funzionalità un po' più ampie di ricerca e/o filtraggio dati... un po' come è possibile fare direttamente sulle tabelle e sulle query "nude" di access. spero di essere stato comprensibile :) Grazie mille ancora per il sempre utilissimo aiuto.
Gianluca
ooops
Utente Senior
 
Post: 207
Iscritto il: 25/09/01 01:00
Località: Viterbo

Re: [Access 2000]inserimento di più record contemporaneamente

Postdi archimede » 29/05/09 10:41

Non credo che Access possa essere classificato come complicato: come tutti gli strumenti, tanto più lo si conosce maggiore sarà il livello di produttività. In altre parole, spesso si impazzisce per fare le cose in un determinato modo ma l'80% delle volte si potrebbe ottenere un risultato analogo o migliore con uno sforzo minimo solo cambiando un po' la struttura dei dati e/o l'interfaccia utente. Quindi il consiglio che posso darti è di studiare Access: trovi un'infinità di risorse sul web (o volumi in libreria, se preferisci), compresi db di esempio che ti danno un'idea di cosa è possibile fare.

Ciò non toglie ovviamente che possono capitare casi in cui lo strumento non fa quel che vuoi in maniera semplice, e allora devi scrivere un po' di codice o escogitare qualche soluzione più o meno fantasiosa; ma credo succeda con qualsiasi tool o linguaggio.

Quanto alle possibili alternative, dipende dai tuoi obiettivi: se vuoi scrivere applicazioni client/server non saprei consigliarti, se invece vuoi orientarti al web allora Access probabilmente non è il prodotto su cui investire.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Applicazioni Office Windows


Topic correlati a "[Access 2000]inserimento di più record contemporaneamente":


Chi c’è in linea

Visitano il forum: Nessuno e 37 ospiti