23. december 2003 - 17:08Der er
11 kommentarer og 1 løsning
sql eller sql+vba
Jeg har en tabel på ca. 500.000 records. Disse records skal sorteres og deles (eksporteres) til ca. 70 txt filer a 7000 records.
Kan man lave ovenstående kun med sql og er det smartest. Jeg er startete i sql, men hvad skriver man i sql, for at gemme et querie output. I vba kan man med fordel bruge løkker og variabler, så det har selvfølgelig også været i mine tanker.
Hvad ville du bruge (sql el. vba+sql)og hvorfor ??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
You dont say much about how you decide what gets exported to each text file so its hard to give a precise solution. You could use a query for each but thats a lot of queries, so it may be easier using VBA.
Jeg formoder at du skal bryde data op i filer udfra et eller andet fast kriterie - muligvis din sorteringsnøgle? Der er ikke nogen "eksport" funktion direkte i SQL, så jeg ville starte med at lave en simpel sorteret query, kalde den fra VBA og lade opbrydningen i separate filer foregå i VBA.
I prakisk ville jeg bygge hver fil op som en tekststreng i VBA og først skrive den til disk når der ikke skal hældes flere data i den pågældende fil.
terry> Det var ikke hensigten at afvise. Jeg kunne bare ikke finde ud af at smide en kommentar, uden at acceptere og jeg ville godt holde spørgsmålet åbent, for det kunne være der var nogle med andre idéer.
terry> Jeg syntes det er sjovt, at løse problemer og det er jo også den bedste måde at lære på. Derfor er det ikke en færdig pakket løsning jeg søger, men blot nogle ideer til hvordan "eksperter" ville løse det.
OK, this is just an example of how it can be done. I have a test table named tblTest with the primary key = ID
You need to make a query so that it alreay exists, this is going to get modified in code so dont worry too much about what it selects. Name the query qryToExport
Make a function in a module.
Function ExportData() Dim sSQL As String Dim ctr As Integer
For ctr = 1 To 5
'Build the SQL in code sSQL = "SELECT * FROM tblTest WHERE ID = " & ctr
'Now modify the queries SQL CurrentDb.QueryDefs("qryToExport").SQL = sSQL
'Just to make sure there are records to export If DCount("ID", "tblTest", "ID = " & ctr) > 0 Then 'Now export the query to a text file DoCmd.OutputTo acSendQuery, "qryToExport", acFormatTXT, "C:\test" & ctr & ".txt" End If
In the example I use the loop counter (ctr) as the criteria in the query. If you need to use something else then you will need to find a way of finding the correct criteria for each loop. Also if you need to use another file name!
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.