Newsgroup: it.comp.appl.access
Titolo: riferimento a query in vba

ciao,
in vba come si indica il riferimento ad una query?
Per esempio se volessi aprire una qufry "prova" come la indico nel
c6dice?
Mi sapreste indicare un tutorial con cui imparare la sintassi e i
comandi di vba?
Grazie.

 comandi di vba?
No.
-- 
Ciao
Karl
*********
Access FAQ: 
www.donkarl.com/it
 


quindi, volendo indicare un campo di una qxery, devo scrivere:
Query!Nomequery!Nomecampo
giusto?
Grazie per la disponibilità

 Grazie per la disponibilità
Se conosci il nome della query quale risulta dalla finestra database:
--------------------------------------------------------------
Dim  RS As Recordset
Set RS = CurrentDb.OpenRecordset("Query17", dbOpenDynaset)
RS.Move 2
MsgBox RS![Comune]
-------------------------------------------------------------
Se la query te la crei on the fly:
--------------------------------------------------------
Dim SQL As String, RS As Recordset
SQL = "SELECT Comuni.Comune, Comuni.Provincia, Comuni.CAP FROM Comuni;"
Set RS = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
RS.Move 2
MsgBox RS![Comune]
---------------------------------------------------------
Attenzione che Move.2 non va al record 2, ti sposta avanti di 2!
Bruno 

 ...
Dove hai letto questa sintassi non esistente?
Puoi usare o
DLookup("NomeCampo","NomeQuery")
o come già scritto, un recordset di DAO, che di solito è più veloce.


 Bruno
Allora,
forse è meglio andare sul concreto.
Ho il seguente codice:
Private Sub cmdPrint_Click()
'Print customer slip for current customer.
Dim appWord As Word.Application
Dim doc As Word.Document
'Avoid error 429, when Word isn't open.
On Error Resume Next
Err.Clear
'Set appWord object variable to running instance of Word.
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then
'If Word isn't open, create a new instance of Word.
Set appWord = New Word.Application
End If
Set doc = appWord.Documents.Open("C:\WordForms\CustomerSlip.doc", ,
True)
With doc
.FormFields("fldCustomerID").Result = Me!CustomerID
.FormFields("fldCompanyName").Result = Me!CompanyName
.FormFields("fldContactName").Result = Me!ContactName
.FormFields("fldContactTitle").Result = Me!ContactTitle
.FormFields("fldAddress").Result = Me!Address
.FormFields("fldCity").Result = Me!City
.FormFields("fldRegion").Result = Me!Region
.FormFields("fldPostalCode").Result = Me!PostalCode
.FormFields("fldCountry").Result = Me!Country
.FormFields("fldPhone").Result = Me!Phone
.FormFields("fldFax").Result = Me!Fax
.Visible = True
.Activate
End With
Set doc = Nothing
Set appWord = Nothing
Exit Sub
errHandler:
MsgBox Err.Number & ": " & Err.Description
End Sub
che serve a copiare alcuni campi di una maschera all'interno di un
documento Word.
Se io volessi indicare al codice di prendere il campo, anzichè dalla
maschera corrente, da una query precedentemente definita, per es.
query1, come dovrei modificare la riga seguente:
.FormFields("fldCustomerID").Result = Me!CustomerID
al posto di Me!CustomerID devo mettere Query!query1!campochevoglio?
Vi ringrazio per la pazienza.
Saluti.

 al posto di Me!CustomerID devo mettere Query!query1!campochevoglio?
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = Currentdb
Set rs = db.OpenRecordset("Query1", dbopendynaset)
.FormFields("fldCustomerID").Result = rs!CustomerID
.FormFields("fldCompanyName").Result = rs!CompanyName
ecc.
Certo, se la tua query non ha un solo record, devi prima andare
al record desiderato o filtrarlo. Anche in questo caso sarebbe
"meglio andare sul concreto", cioč rivelare i criteri, nome e
tipo dei campi, nome della query. ecc.


 Access FAQ:
www.donkarl.com/it
Grazie Karl,
a solo titolo di studio, potresti gentilmente spiegarmi cosa
significano le righe:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set rs = db.OpenRecordset("Query1", dbopendynaset)
in particolare DAO, OpenRecordset e dbopendynaset?
Te ne sono grato.
Un saluto
Remigio

 ...
Usa la guida in linea come tutti programmatori!
P.e. puoi copiare il codice in un modulo, mettere il cursore in
una parola come "OpenRecordset" e premere <F1>.
Poi la guida ti d� un romanzo di spiegazioni ed esempi.



Grazie.
Un saluto.