popolare automaticamente un campo

Anonimo
2012-07-31T10:07:44+00:00

Ho creato un Db  

Ho creato 3 tabelle ;

              1 - Fornitori (Fornitore, Città, Centro di Costo )

               2 - GL (Fornitore, Data Fattura, Centro di Costo , Importo)

Ho fatto una Query che hg collegato le tabelle tramite il campo Fornitore.

Nella tabella GL:

Ho collegato il campo Fornitore in modo che sia swlwzionabile dalla tabella Fornitori tramite una  finestra a tendina ; fin qui tutto bene.

Vorrei che selezionando il Fornitore che mi serve venisse popolato automaticamente il campo Centro di Costo associato .

Come si fa??

Grazie

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2012-08-01T15:56:13+00:00

Ciao,

se i campo della tabella GL si chiama centro di costo, la casella di testo che hai nella maschera, associata al campo CdC, probabilmente si chiamerà centro_di_Costo se tu non gli hai dato un altro nome per cui:

Private Sub ConnettiTabella()

Dim con As Object

Dim rs As Object

Set con = Application.CurrentProject.Connection

Set rs = CreateObject("ADODB.Recordset")

rs.Open "Select [Centro di costo] AS CC FROM Fornitori Where Fornitore ='" & tendina.SelText & "'", con, 1

myVar = rs("CC")

MsgBox Prompt:=myVar

me.centro_di_Costo = myvar

 End Sub

m invece di tutto questo accrocchio potevi semplicemnte fare:

Sub Tendina_Change()

me.centro_di_Costo=Dlookup("[Centro di costo]" , "Fornitori", "Fornitore='" & tendina.SelText & "'")

End Sub

La risposta è stata utile?

0 commenti Nessun commento

33 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-07-31T15:16:55+00:00

    No sono in tabella GL ma dove inserisco la funzione?

    Potresti mettere "in chiaro" il significato della stessa?

    Secondo me se hai un esempio che corrisponde a quanto richiesto facciamo prima perchè non conosco Access . Se dovessi fare una query  "ad minchiam" gli direi alla cella Centro di costo della Gl di :

    Select Centro di Costo, Fornitore

    Inner Join  on Gl.Fornitore Where

    Gl.Fornitore=Fornitore.Fornitore;

    Non so neppure se è corretta.. cmq il risultato dovrebbe essre prendi il codice dalla tabella Fornitore dove il Fornitore della Fornitori è uguale al Fornitore della GL... vho...

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-07-31T15:02:09+00:00

    potresti utilizzare la funzione DLookup con il seguente formato nella cella centro di costo ( anche se non ho capito se sei su una maschera )

    =DLookup("Centro di costo";"Fornitore";"Fornitore = " '" & Fornitore & "'")

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-07-31T14:58:11+00:00

    No. L'esempio che ho fatto è piccolissimo perchè per realizzare un'architettura seria avrei dovuto creare più tabelle:

    Tabella Fornitori archivio dei fornitori

    Tabella GL  Contabilità Generale e se volessi fare il figo:)) Vendor_Ledger_Entry

    Tabella Centri di Costo archivio dei centri di costo con field Nome, codice )

    nb  Nome as Centro di Costo

    ..

    quale risposta?

    Giuseppe

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-07-31T14:40:24+00:00

    Ciao Giuseppe,

    spero con la mia risposta di aver centrato le tue esigenze.

    Volevo solo farti notare che ripetere dati in più tabelle comporta problemi in fase di manutenzione. Nel tuo esempio, ad esempio,se varia il centro di costo di un fornitore un domani dovrai variarlo non solo sulla tabella Fornotori ma anche su tutte le fatture di quel fornitore.

    Ti sarei grato se mi dessi comunque una risposta.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento