04. april 2004 - 12:38Der er
8 kommentarer og 2 løsninger
Opret forespørgsel i VBA
Hvordan opretter og gemmer jeg en forespørgsel i VBA. Jeg har SGL-sætningen så det jeg mangler er at gemme den som forespørgsel. Navnet skal ikke være dynamisk så det kan bare indgå i koden og en evt. eksisterende forespørgsel skal overskrives uden prompt'ning
Min SQL er som følger:
SELECT tbl_Med_Akk_Link.MedarbejderIdRef, tbl_Med_Akk_Link.AkkordnrRef, tbl_Med_Akk_Link.Dato, tbl_Med_Akk_Link.Timer FROM tbl_Med_Akk_Link WHERE (((tbl_Med_Akk_Link.Dato) Between #3/21/2004# And #4/3/2004#));
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
This example uses the CreateQueryDef method to create and execute both a temporary and a permanent QueryDef. The GetrstTemp function is required for this procedure to run.
Sub CreateQueryDefX()
Dim dbsNorthwind As Database Dim qdfTemp As QueryDef Dim qdfNew As QueryDef
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
With dbsNorthwind ' Create temporary QueryDef. Set qdfTemp = .CreateQueryDef("", _ "SELECT * FROM Employees") ' Open Recordset and print report. GetrstTemp qdfTemp ' Create permanent QueryDef. Set qdfNew = .CreateQueryDef("NewQueryDef", _ "SELECT * FROM Categories") ' Open Recordset and print report. GetrstTemp qdfNew ' Delete new QueryDef because this is a demonstration. .QueryDefs.Delete qdfNew.Name .Close End With
End Sub
Function GetrstTemp(qdfTemp As QueryDef)
Dim rstTemp As Recordset
With qdfTemp Debug.Print .Name Debug.Print " " & .SQL ' Open Recordset from QueryDef. Set rstTemp = .OpenRecordset(dbOpenSnapshot)
With rstTemp ' Populate Recordset and print number of records. .MoveLast Debug.Print " Number of records = " & _ .RecordCount Debug.Print .Close End With
>>Terry Jeg fandt denne her og den virker men giver fejl når forespørgelsen eksisterer i forvejen, kan det løses?:
Sub NewQuery() Dim dbs As Database, qdf As QueryDef, strSQL As String
' Return reference to current database. Set dbs = CurrentDb strSQL = "SELECT tbl_Med_Akk_Link.MedarbejderIdRef, tbl_Med_Akk_Link.AkkordnrRef, tbl_Med_Akk_Link.Dato, tbl_Med_Akk_Link.Timer FROM tbl_Med_Akk_Link WHERE (((tbl_Med_Akk_Link.Dato) Between #3/21/2004# And #4/3/2004#));"
' Create new query. Set qdf = dbs.CreateQueryDef("qry_Periode_til_Krydstab", strSQL) DoCmd.OpenQuery qdf.Name Set dbs = Nothing End Sub
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.