Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

[Access] query di accodamento automatica con campi fissi

  1. #1
    makli non è in linea Novello
    - premessa: sono un neofita di Access! quindi scusate domende ed osservazioni banali! -

    Buongiorno a tutti,
    ho un database concettualmente simile al Northwind, l'esempio che Microsoft allega ad Access.
    Vorrei fare in modo che la tabella Dettagli Offerte (simile a Dettagli Ordini di Northwind; è la tabella che lega Offerte e Prodotti in una relazione molti-a-molti) venga compilata automaticamente con i Prodotti pre-filtrati da una query (ex: tutti quelli la cui categoria è Salati, Dolci o Liquidi) e con due campi fissi che riguardano la data dell'offerta e il Cliente a cui fare l'offerta.
    Ho già fatto la query di filtro dei prodotti. E' generata dal pulsante di un piccolo form con l'elenco delle categorie da selezionare.
    Pensavo, di lì in poi, di proseguire con una query di accodamento, che però non riesco a realizzare.
    La query dovrebbe accodare nella tabella Dettagli Offerte tutti i record in cui variano solo i dati relativi ai prodotti e restano fissi i campi Cliente e Data.

    come faccio??

    Grazie a tutti.
    Makli

  2. #2
    makli non è in linea Novello
    Qualche idea?
    Oppure mi sono spiegato male?

    Provo in altri termini, con l'esempio pratico:
    step 1: creo un "listino", cioè un elenco di prodotti estrapolato dalla tabella Prodotti tramite un filtro (query che ho già fatto)
    step2: vorrei associare a ciascuno dei record di questo listino un set di dati sempre costante (IDOfferta, Contatto e DataOfferta che restano inalterati). Per ogni listino cioè devo avere una sola offerta, un solo contatto cui inviarla ed un'unica data. E queste associazioni devono risultare accodate nella tabella DettagliOfferte: "x" righe nuove (per "x" prodotti offerti), tutte e "x" con i campi IdOfferta, Contatto e Data uguali

    (chiaramente, alla prossima offerta cambieranno IdOfferta, Contatto e Data, con una nuova gamma di prodotti)

    spero di essermi spiegato meglio..

    ed ora... AIUTOOO!!!

    Makli

  3. #3
    L'avatar di dragone bianco
    dragone bianco non è in linea Amanuense
    Senza saperlo ti sei già risposto

    La query che filtra io dati ce l'hai

    Crea una query di accodamento sulla base di quest'ultima query
    per campi fissi nella query scrivi
    Prova:"1" es di un campo fisso

    se invece prende il valore da una maschera
    Prova:Forms!Maschera1!textbox (usa il generatore di espressioni)

    Ciao
    ℹ️ Leggi di più su dragone bianco ...

  4. #4
    makli non è in linea Novello
    Grazie mille Dragone bianco
    proverò così come dici.
    Vorrei però sottolineare che i campi fissi che devono venir accodati sono comunque campi che provengono da altre tabelle (Contatto dalla Tabella contatti, ecc.)
    - quindi di sicuro il primo esempio non fa al caso mio -
    E la tabella a cui accodare (DettagliOfferte) è relazionata alle tabelle da cui provengono i campi

    Siamo sicuri che in questa maniera:
    >> Prova:Forms!Maschera1!textbox
    la relazione venga mantenuta? riconosce che è la stessa entità? (cioè che le offerte sono fatte esattamente al contatto della tabella Contatti?)

    Ciao
    Makli

  5. #5
    L'avatar di dragone bianco
    dragone bianco non è in linea Amanuense
    >> Prova:Forms!Maschera1!textbox

    per questo mi riferivo ad un textbox non associato in caso i dati fissi dovevi scriverli a mano
    per estrarre i dati da una tabella puoi usare il DLOOKUP

    Es
    Prova: DlookUp(......)

    una piccola guida la trovi QUI
    oppure consulta la guida in linea

    Ciao
    Ultima modifica di dragone bianco; 11-04-2008 22:37 
    ℹ️ Leggi di più su dragone bianco ...

  6. #6
    makli non è in linea Novello
    Ciao DragoneBianco
    e grazie del supporto.

    Ho provato ad inserire la funzione DLookUp ma non riesco a completare correttamente la sintassi..

    Ciò che dovrei pescare è il campo chiave primaria associato, nella tabella TContatti, al nome che mi compare nella casella combinata.

    Cioè:
    la mia tabella TContatti ha i seguenti campi:
    IDContatto (primary key)
    NomeSocietà
    Contatto
    [...]
    e nella maschera MCreaOfferta la casella combinata CombDestinatarioOfferta pesca questi 3 campi (mostrando solo 2° e 3°) e, fatta la scelta, visualizza solo NomeSocietà

    Io dovrei, con DLookUp, recuperare l'IDContatto del NomeSocietà visualizzato.

    Ho provato la seguente sintassi:
    ProvaLookUp(Forms![MCreaOfferta]![CombDestinatarioOfferta],TContatti)
    ma non funziona (errore di sintassi)

    ho fatto varie prove, con virgolette, senza percorso completo ecc. ma non funziona.
    Non so neanche se concettualmente è giusto..

    Sento di essere vicino alla soluzione ma anche alla disperazione!

    Mi aiuti? Dove sbaglio?

    Grazie
    Ciao
    Makli

  7. #7
    makli non è in linea Novello
    Sono ancora bloccatissimo...
    qualche buon'anima mi suggerisce una scappatoia?

    Grazie
    Makli

  8. #8
    L'avatar di dragone bianco
    dragone bianco non è in linea Amanuense
    Ciao

    Sbagli la sintassi

    Es:
    DLookUp("Campo1","Tabella","Campo2='Casa'")
    
    Campo1=è il campo di cui restituisce il valore
    Tabella=é la tabella (o Query) a cui appartengono i campi
    Campo2=è il campo In cui esegue il filtro, nel l'esempio cerca nel campo2 la parola "casa"

    si possono eseguire filtri + complessi

    Es:
    DLookUp("Campo1","Tabella","Campo2='Casa' and Campo3=4")
    
    Ciao
    ℹ️ Leggi di più su dragone bianco ...

  9. #9
    makli non è in linea Novello
    Quote Originariamente inviato da dragone bianco Visualizza il messaggio

    Es:
    DLookUp("Campo1","Tabella","Campo2='Casa'")
    
    Campo1=è il campo di cui restituisce il valore
    Tabella=é la tabella (o Query) a cui appartengono i campi
    Campo2=è il campo In cui esegue il filtro, nel l'esempio cerca nel campo2 la parola "casa"
    Sì d'accordo ma:

    1. come faccio ad assegnare come criterio: "prendi esattamente il valore che ti seleziono nella maschera" ?

    2. se invece, come nel caso della data, devo inserire ex-novo una data, digitandola, cosa metto come criterio? Non posso certo chiedere di filtrare, perché quella data non esiste ancora nella tabella delle Offerte.. quindi che faccio?

    3. Ho un problema di sintassi anche nell'inserire il DLookUp nel codice VBA
    Infatti nel tuo caso

    DLookUp("Campo1","Tabella","Campo2='Casa'")
    
    le virgolette non disturbano, mentre io ho un'istruzione del tipo

    CurrentDb.QueryDefs("Q01").SQL = "SELECT [Forms]![MCreaOfferta]![CombDestinatarioOfferta] AS Prova, DLookUp(""DataOfferta", ""TOfferte", [Forms]![MCreaOfferta]![textDataOfferta]) As data " _
    & "DLookUp([Forms]![MCreaOfferta]![NewNumber],TOfferte) As ProvaIDOfferta"

    in cui compilo una Query via SQL e le virgolette del tuo esempio non so proprio come metterle (e infatti questa è una delle versioni che non funziona).

    Per inciso:
    NON utilizzando DLookUp, con questa semplice istruzione:
    CurrentDb.QueryDefs("Q01").SQL = "SELECT [Forms]![MCreaOfferta]![CombDestinatarioOfferta] AS Prova, [Forms]![MCreaOfferta]![textDataOfferta] As ProvaDataOfferta;"

    la query risultante ha un solo record (corretto) con due campi, Prova e ProvaDataOfferta (corretto!), in cui il campo Prova riporta correttamente il contenuto della casella combo (corretto!!) MA IL CAMPO PROVA E' VUOTO anziché riportare la data che digito in textDataOfferta (SBAGLIATO!!).. ma perché????

    Grasssie....

  10. #10
    L'avatar di dragone bianco
    dragone bianco non è in linea Amanuense
    DLookUp("Campo1","Tabella","Campo2='" & [Forms]![MCreaOfferta]![CombDestinatarioOfferta] &"'")
    
    Questa è la sintassi VBA

    poi
    CurrentDb.QueryDefs("Q01").SQL = "SELECT [Forms]![MCreaOfferta]![CombDestinatarioOfferta] AS Prova, [Forms]![MCreaOfferta]![textDataOfferta] As ProvaDataOfferta;"
    
    La maschera MCreaOfferta deve essere aperta altrimenti non funziona.

    Ciao
    ℹ️ Leggi di più su dragone bianco ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. query accodamento automatica
    Da Sarri nel forum Microsoft Access
    Risposte: 14
    Ultimo Post: 17-02-2017, 14:33
  2. compilazione automatica campi DB Access
    Da mercur.p nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 10-11-2015, 15:16
  3. Query di accodamento che unisca i campi diversi
    Da paoloderigo nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 14-02-2014, 17:02
  4. Maschera con campi fissi anche se variabili
    Da bibopm nel forum Microsoft Access
    Risposte: 8
    Ultimo Post: 11-09-2013, 16:24
  5. Risposte: 1
    Ultimo Post: 07-02-2011, 19:56