2010-02-02 4 views
0

J'ai un formulaire principal FACTURE avec sous-formulaire INVOICEDETAIL (ITEMID, InvoiceID, Quantité, Prix) et sous-formulaire ALLITEMS (clé primaire ITEMID et sous-formulaire en lecture seule).Comment rechercher un sous-formulaire et utiliser des données pour ajouter un enregistrement dans un autre sous-formulaire

INVOICE est liée à INVOICEDETAIL via le champ InvoiceID, tandis que INVOICE n'est pas liée à ALLITEMS, donc tous les éléments s'affichent dans ALLITEMS.

Je souhaite que l'utilisateur puisse cliquer deux fois sur les éléments du sous-formulaire ALLITEMS et que l'élément soit ajouté dans le sous-formulaire INVOICEDETAIL. peut-être une boîte de dialogue apparaît pour permettre à l'utilisateur d'entrer également la quantité et le prix dans INVOICEDETAIL ou le focus est placé dans INVOICEDETAIL pour laisser l'utilisateur entrer cette information.

Pouvez-vous m'aider?

Répondre

0

Peut-être quelque chose sur les lignes de ce dans le double-cliquez sur l'événement de contrôle AllItems ID:

Me.Parent.[InvoiceDetail Subform Control Name].SetFocus 
DoCmd.GoToRecord acActiveDataObject, , acNewRec 
Me.Parent.[InvoiceDetail Subform Control Name].Form.ID = Me!ID 
Me.Parent.[InvoiceDetail Subform Control Name].Form.Price.SetFocus 

Vous pouvez également exécuter une requête append:

strSQL= "Insert Into InvoiceDetail (ID, Price) " _ 
     & "Select ID, Price From AllItems " _ 
     & "Where ID=" & Me.ID 

CurrentDB.Execute strSQL, dbFailOnError 

Vous devrez alors effectuer une nouvelle requête du Sous-formulaire InvoiceDetail et recherchez l'ID pertinent.

+0

ok va essayer cette idée – user264312

Questions connexes