Newsgroup: it.comp.appl.access
Titolo: Passaggio di un valore da una combox ad un campo tabella

Utilizzo Access 2007 (gestione libri nuovi e usati)
Descrizione
Ho creato 5 tabelle e relativi campi:
- TabNome: Id (cont) - Nome - Indirizzo - ecc ... (un'anagrafica dei
clienti)
- TabLibro: IdLibro
- TabAcquistoNuovo: IdOrdine (cont) - Id - IdLibro
- TabCessionario: IdCessione (cont) - Id - IdLibro - Acquirente
- TabAcquirente: IdAcquisto (cont) - Id - IdLibro - Cessionario
Le tabelle sono collegate con una relazione di tipo 1 a molti tra
[Id].TabNome (1 - Molti) [Id].TabCessionario
[Id].TabNome (1 - Molti) [Id].TabAcquirente
e poi
[Id].TabLibri (1 - Molti) [Id].TabCessionario
[Id].TabLibri (1 - Molti) [Id].TabAcquirente
Con TabNome ho costruito una maschera MascNome e poi con un controllo
cartella
ho inserito per ogni pagina una sottomaschera:
MascAcqNew
MascCes
MascAcqUsato
Quando inserisco i dati nella MascAcqUsato utilizzo una combox che
recupera l'id dei libri ceduti. In questo modo risulta che il clienteX
acquista un libroK del clienteY che avevo precedentemente caricato in
MascCes
Richiesta di aiuto
Vorrei che dopo l'immissione dell'IdLibro, Access assegnasse
l'IdNomeAcquirente al campo Acquirente della TabCessionario
Sintesi
L'idea è che la
TabNome contenga sia cessionari che acquirenti (Il cliente può infatti
essere sia cessionario che acquirente)
La TabCessionario contenga un record con un Id (che in questo caso
sarà cessionario) IdLibro (ceduto) e l'eventuale Id (acquirente)
ed in fine
La TabAcquirente contenga un record con un Id (che in questo caso sarà
acquirente) IdLibro(precedentemente depositato dal cessionario) e l'Id
del cliente cessionario di quel particolare libro
Spero di essere stato il più chiaro possibile. Mi auguro che qualcuno
possa aiutarmi...
Grazie in anticipo per la pazienza che vorrete dedicarmi .... : )


Sull'evento "Afterupdate" del combox vai ad ins:
Me.Acquirente =Me.IdNomeAcquirente
Dino


La combobox si trova nella sottomaschera: MascAcqUsato
Il valore che d'evessere assegnato al campo Acquirente della
TabCessionario si trova nella MascNome(maschera madre).
mi chiedo se questo codice è sufficiente...!?

 - Mostra testo citato -
Allora devi solo implementare la sintassi,cioe' :
Forms!MascNome.Acquirente= Me.IdNomeAcquirente
In definitiva devi dare il path(percorso) corretto.
Dino

 - Mostra testo citato -
Dino
ho provato a rispettare alla lettere quello che hai scritto (con i
nomi appropriati degli oggetti) ma non funziona.
Poi ho provato in questo modo
[2cessione].[2Id_Ingresso] = Forms![anagrafica
clienti].cod_ingresso    dove
2cessione è la tabella di destinazione (che non è inserita ne nella
maschera madre ne nella sottomaschera)
2Id_Ingresso e il campo di destinazione (Cliente acquirente)
Anagrafica cliente è la maschera madre (ricordo che la combobox si
trova nella sottomaschera MascAcqUsato)
Cod_ingresso valore attivo sulla maschera madre che voglio assegnare
al su detto campo
P.s.
Non so se quello che ho appena detto possa aggiungere qualcosa di
nuovo per la comprensione della mia richiesta
ancra grazie Dino e a presto!

 2Id_Ingresso e il campo di destinazione (Cliente acquirente)
Ciao!
Scusa ma ... se [2cessione] è una tabella che non hai associato in
alcun modo alla maschera, per aggiornarla IMVHO dovrai passare per una
query di aggiornamento!
HTH
Popi


Certo,caspita Popi ha ragione.Se la tab non e' associata l'indicazione
che ti ho dato non puo' funzionare.dEvi solo fare una query di agg.
Dino


Ragazzi un mio carissimo amico a sviluppato qusto codice:
Sub Titolare_AfterUpdate()
    Dim db As Database
    Dim rs As Recordset
    Dim strSQL As String
    strSQL = "SELECT [2cessione].* FROM [2cessione] "
    strSQL = strSQL & "WHERE [2cessione].[2Id_Ingresso] = " &
Titolare.Text   'Me.[3Id_Ingresso]
    strSQL = strSQL & " AND [2cessione].[2IDLibro] = " & Me.[3idlibro]
& ";"
    Set db = CurrentDb()
    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
    If Not rst.EOF Then
        rst.Edit
        rst("AcquirenteUsato") = Me.[3Id_Ingresso]
        rst.Update
    End If
    rst.Close
    Set rst = Nothing
    Set db = Nothing
End Sub
Dove
Titolare è la combobox dalla quale seleziono (nella maschera di chi
acquista l'usato) il cessore (titolare del libro)
3Id_Ingresso è la chiave che identifica il cliente che acquista
(questo valore dev'essere copiato nella tabella cessionario campo
Acquirente. La cosa funziona!
adesso la difficoltà che sto tentando di risolvere è quella di creare
una query che mi richiami tutti i record dei libri ceduti e solo quei
record acquirenti corrispondenti(ovvero che hanno acquistato il libro
di 2° mano


in pratica sto cercando di capire come scrivere nel linguaggio sql
che: il valore della combobox venga processato come numero

Ok ... risolto!!