Har en fundering ? Hej Tack db.exicute fungerade bra och sparde rätt mycket tid, nej jag kör inte mot lokal databas dvs i dn som jag har lagt programmet. De Ligger utspridda i ett litet nätverk. Kan du inte göra och skicka med db:n som parameter till funktionerna försökt det med en ado sträng se ADO Sql VB Finns det en snabbare och bättre lösning på detta ?
Jag transporterar hemskt mycket data mellan olika databaser och tabeller.
Det jag undrar över ät att det måste finnas något sätt och troligtvis i ADO
för att lösa detta. Den Lösning jag har nu tar mycken tid
Modulnivå
Option Explicit
Dim DB As Database
Dim lnk As DAO.TableDef
Dim SQL As String
Dim q As DAO.Recordset
Dim TOK As DAO.Recordset
Dim qa As DAO.QueryDef
Dim DK As DAO.QueryDef
ca 13 upprepningar av function
dock ej på samma fält
Public Function infnyyyy(sokv As String, INTAB As String, INTAB1 As String, uttab As String, ioo As String, instrum As String, instrum1 As String)
Set DB = OpenDatabase(sokv)
Set DK = DB.CreateQueryDef("")
DK.SQL = "insert into " & uttab & "(Symbolu,Datumu,Objekt,Datum,Gr)" & _
" Select distinct " & INTAB & ".objekt as symbolu," & INTAB & ".Datum as datumu," & INTAB1 & ".objekt as objekt," & INTAB1 & ".Datum as datum,""" & ioo & """ as GR" & _
" from " & INTAB & " inner join " & INTAB1 & " on (" & INTAB & ".sigsort=" & INTAB1 & ".sigsort) and (" & instrum & "=" & instrum1 & ")"
DK.Execute
DK.Close
DB.Close
End Function
acces 2000 , vb for appl, XPSv: Finns det en snabbare och bättre lösning på detta ?
Varför använder du inte DB.Execute ?
Är det dessutom den "lokala" databasen du kör mot, alltså den där kodsnutten ligger i, så behöver du inte öppna den igen utan köra
Workspaces(0).Databases(0).Execute SQLSATSEN
istället.
Är det flera urval mot samma tabeller går det nog fortare om du stoppar in dem allihop i en insert.
/JohanSv: Finns det en snabbare och bättre lösning på detta ?
Det jag funderar över är om db.close och db.open tar myket tid och resurser om det är där klon ligger, har läst någonstans att de koplar i från databasen för att frigöra resurser. I min lösning så ligger jag mot databaserna hela tiden och jag misstänker att det är där någonstans jag kan spara tid.
Jag är inte riktigt haj på det här , men jag försöker så gått jag kan .
Jag tackar för hjällpen
mvh Per HSv: Finns det en snabbare och bättre lösning på detta ?
Db.Open
Funk1 Db, andra parametrar...
Funk... Db, andra parametrar...
Funk... Db, andra parametrar...
Funk13 Db, andra parametrar...
Db.Close
då ?
/JohanSv: Finns det en snabbare och bättre lösning på detta ?