10. januar 2004 - 01:28Der er
51 kommentarer og 2 løsninger
sortere efter uge og lægge i excel men det virker ikke
jeg har fået en database af en og jeg har tilføjet et felt hvor jeg kan skrive ugenummer men den vil ikke sortere efter det og lægge de i et excel ark
her er koden:
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Uge As Object, u As String, ux As String, Tek As String, xls As New Excel.Application
On Error GoTo Errorhandler 'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp" 'Hvis du har oprettet en ny post, skal tabellen først opdateres, ellers ses den nye post ikke i Excel 'Me er den aktive formular og Refresh opdaterer den underliggende tabel / forespørgsel. Me.Refresh 'Næste sætning definerer hvilken tabel der skal levere data og åbner denne Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("Opgaver", dbOpenTable) 'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application") xls.Workbooks.Open Filename:="D:\VBA\XP\Mappe1.xls" 'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket wkb.Worksheets("Ark1").Cells(1, 1).Value = "Felt 2" wkb.Worksheets("Ark1").Cells(1, 2).Value = "Felt 1" 'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... 'Hvis der ekporteres tekst erstattes "Str$" med "Format" u = Me.Tekst25 ux = Me.Tekst25 + 1 For i = 2 To Rst.RecordCount + 1 Set Uge = Rst.Fields![Uge] If Uge = u Or ux Then wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![TID]) wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![Uge]) Rst.MoveNext Else Rst.MoveNext End If Next 'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-Rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets("Ark1").Cells(Rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit 'Objektvariablen frigives Set Obvar = Nothing 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If End Sub
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Har sendt en ny fil der sender sorterede data til Excel ved DoCmd.Transfer Spreadsheet. Denne måde er ikke så funktionel som den spørgeren allerede har fået. Men det er jo et spørgsmål om, i hvilken forbindelse det skal bruges.
Hvis ovennævnte kode ikke sorterer, kan der i stedet for eksport af en tabel, blot eksporteres en forespørgsel, der er sorteret efter uge.
Without looking at this in detail, a solution would be to make a query whci sorts after week. Then instead of this line Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("Opgaver", dbOpenTable) you would use something like this Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("qryOpgaverSorted", dbOpenQuery)
what I dont understand is the original question was how to sort after week number NOT being able to select which week you want to see. If You choose a week (49) then what is the point in sorting afetr this when ALL records will be the same week?
ok jeg ville gerne have lov til at skrive i et text felt uge XX og der efter klikke på en komandokanp og så exportere den , den uge ud i excel det kan dreje sig om 20 linier eller 5 hovedsagen er at det stykke kode jeg har lagt med kan exportere alle linier i databasen. hvis det kunne lade sig gøre ville jeg gerne have hjælp til at skrive det om så jeg kan bruge et textfelt til at styre hvilken uge der skal exporteres
a55830>If you can tell us what works from the examples given then we have an idea if what we are doing is correct! Does this work for example? Set Rst = Currentdb.OpenRecordset ("select * FROM Opgaver order by uge", dbOpenDynaset, dbReadOnly)
DOES THIS WORK???????? Set Rst = Currentdb.OpenRecordset ("select * FROM Opgaver order by uge", dbOpenDynaset, dbReadOnly)
It DOES select the week number AND it also sorts after week number.
I want to know IF this works BEFORE I can give you solution to how to select records for a specific week, this is AFTER ALL what the ORIGINAL question was!!!!!
jeg vil lige sige for en ordensskyld JEG ER IKKE PROGRAMØR
jeg har lagt en stump program ud og håbede at i kunne forstå det, jeg er meget taknemlig for alle de svar men jeg fatter ikke en fis når der bliver skrevet en lille stump kode til mig hvor skal jeg sætte den ind ????????
jeg syntes at jeg har forklaret mit problem meget klart men .......... jeg vil mægtigt gerne sende min db men det kan jeg ikke pga de data der er i den. kan i ikke fortælle hvad der er galt med min kode ?? håber vi kan finde en løsning
a55830>But a little responce does help! How are we to know, if you just say it doesnt work!
I have also offered to make it for you but havent had an answer on that yet!
DOES THIS work (sorted by week)?
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Uge As Object, u As String, ux As String, Tek As String, xls As New Excel.Application
On Error GoTo Errorhandler 'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp" 'Hvis du har oprettet en ny post, skal tabellen først opdateres, ellers ses den nye post ikke i Excel 'Me er den aktive formular og Refresh opdaterer den underliggende tabel / forespørgsel. Me.Refresh 'Næste sætning definerer hvilken tabel der skal levere data og åbner denne Set Rst = Currentdb.OpenRecordset ("select * FROM Opgaver order by uge", dbOpenDynaset, dbReadOnly) 'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application") xls.Workbooks.Open Filename:="D:\VBA\XP\Mappe1.xls" 'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket wkb.Worksheets("Ark1").Cells(1, 1).Value = "Felt 2" wkb.Worksheets("Ark1").Cells(1, 2).Value = "Felt 1" 'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... 'Hvis der ekporteres tekst erstattes "Str$" med "Format" u = Me.Tekst25 ux = Me.Tekst25 + 1 For i = 2 To Rst.RecordCount + 1 Set Uge = Rst.Fields![Uge] If Uge = u Or ux Then wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![TID]) wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![Uge]) Rst.MoveNext Else Rst.MoveNext End If Next 'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-Rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets("Ark1").Cells(Rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit 'Objektvariablen frigives Set Obvar = Nothing 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If End Sub
som det er nu så skriver den alle data i et excel efter uge men jeg vil gerne have lov til at vælge hvilken uge den skal skrive så jeg ikke får dem alle sammen. Det kan jo blive en lang liste
You need to place a text box on your form and name it txtUge
then replace ALL of the code with this.
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Uge As Object, u As String, ux As String, Tek As String, xls As New Excel.Application Dim sSQL as string On Error GoTo Errorhandler 'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp" 'Hvis du har oprettet en ny post, skal tabellen først opdateres, ellers ses den nye post ikke i Excel 'Me er den aktive formular og Refresh opdaterer den underliggende tabel / forespørgsel. Me.Refresh sSQL = "select * FROM Opgaver WHERE uge = " & Me.txtUge & " order by uge" Set Rst = Currentdb.OpenRecordset (sSQL, dbOpenDynaset, dbReadOnly) 'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application") xls.Workbooks.Open Filename:="D:\VBA\XP\Mappe1.xls" 'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket wkb.Worksheets("Ark1").Cells(1, 1).Value = "Felt 2" wkb.Worksheets("Ark1").Cells(1, 2).Value = "Felt 1" 'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... 'Hvis der ekporteres tekst erstattes "Str$" med "Format" u = Me.Tekst25 ux = Me.Tekst25 + 1 For i = 2 To Rst.RecordCount + 1 Set Uge = Rst.Fields![Uge] If Uge = u Or ux Then wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![TID]) wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![Uge]) Rst.MoveNext Else Rst.MoveNext End If Next 'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-Rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets("Ark1").Cells(Rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit 'Objektvariablen frigives Set Obvar = Nothing 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If End Sub
denne kode virker. men den giver mig alle poster i tabelen
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Tek As String, xls As New Excel.Application
On Error GoTo Errorhandler 'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp" 'Hvis du har oprettet en ny post, skal tabellen først opdateres, ellers ses den nye post ikke i Excel 'Me er den aktive formular og Refresh opdaterer den underliggende tabel / forespørgsel. Me.Refresh 'Næste sætning definerer hvilken tabel der skal levere data og åbner denne Set Rst = DBEngine.Workspaces(0).Databases(0).OpenRecordset("Opgaver", dbOpenTable) 'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application") xls.Workbooks.Open Filename:="D:\VBA\XP\Mappe1.xls" 'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket wkb.Worksheets("Ark1").Cells(1, 1).Value = "Felt 2" wkb.Worksheets("Ark1").Cells(1, 2).Value = "Felt 1" 'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... 'Hvis der ekporteres tekst erstattes "Str$" med "Format" For i = 2 To Rst.RecordCount + 1 wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![TID]) wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![Uge]) Rst.MoveNext Next 'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-Rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets("Ark1").Cells(Rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit 'Objektvariablen frigives Set Obvar = Nothing 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If End Sub
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, Rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, Uge As Object, u As String, ux As String, Tek As String, xls As New Excel.Application Dim sSQL as string On Error GoTo Errorhandler 'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp" 'Hvis du har oprettet en ny post, skal tabellen først opdateres, ellers ses den nye post ikke i Excel 'Me er den aktive formular og Refresh opdaterer den underliggende tabel / forespørgsel. Me.Refresh sSQL = "select * FROM Opgaver WHERE uge = " & Me.txtUge & " order by uge" Set Rst = Currentdb.OpenRecordset (sSQL, dbOpenDynaset, dbReadOnly) 'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application") xls.Workbooks.Open Filename:="D:\VBA\XP\Mappe1.xls" 'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket wkb.Worksheets("Ark1").Cells(1, 1).Value = "Felt 2" wkb.Worksheets("Ark1").Cells(1, 2).Value = "Felt 1" 'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... 'Hvis der ekporteres tekst erstattes "Str$" med "Format" u = Me.Tekst25 ux = Me.Tekst25 + 1
Do until rst.eof Set Uge = Rst.Fields![Uge] If Uge = u Or ux Then wkb.Worksheets("Ark1").Cells(i, 1).Value = Str$(Rst.Fields![TID]) wkb.Worksheets("Ark1").Cells(i, 2).Value = Str$(Rst.Fields![Uge]) End If
Rst.MoveNext
Loop
'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-Rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets("Ark1").Cells(Rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets("Ark1").UsedRange.Columns.AutoFit 'Objektvariablen frigives Set Obvar = Nothing 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True Errorhandler: If Err.Number = 94 Then Resume Next End If End Sub
det er ikke den samme kode vi startede med det er den orginale kode fra mugs me jeg havde tilføjet en text box. Men det virkede ikke den ignoret den. uge er sat til "tal"
det er som om at den tæller de uger men den poster ikke noget i felterne for det den lægger sammen i bunden er det antal linier nede som det antal posteringer der på den uge
OK! a55830> I cant help if I cant see the program! There are far too many thuings which I can NOT see here! For example, in the code there is a field Me.Tekst25 whcih I have NO IDEA what is. We cant be expected to just guess until we get it right!
If you cant send the dB then ask mugs to correct it for you!
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, u As String, ux As String, Tek As String, xls As New Excel.Application Dim sSQL As String
On Error GoTo Errorhandler
'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp"
sSQL = "select * FROM Opgaver WHERE uge = " & Me.txtuge & " order by uge" Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly)
'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application")
'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket
'Use index instead of name (language dependant) wkb.Worksheets(1).Cells(1, 1) = "Felt 2" wkb.Worksheets(1).Cells(1, 2) = "Felt 1"
'Or record count will not be correct rst.MoveLast rst.MoveFirst
'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... i = 2 Do Until rst.EOF wkb.Worksheets(1).Cells(i, 1) = Str(rst.Fields![TID]) wkb.Worksheets(1).Cells(i, 2) = Str(rst.Fields![Uge])
rst.MoveNext i = i + 1 Loop
'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets(1).Cells(rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets(1).UsedRange.Columns.AutoFit
Sub_Exit:
On Error Resume Next
'Objektvariablen frigives Set Obvar = Nothing
'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True
Errorhandler: If Err.Number = 94 Then Resume Next Else MsgBox "Error: " & Err.Number & " - " & Err.dec Resume Sub_Exit End If End Sub
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, u As String, ux As String, Tek As String, xls As New Excel.Application Dim sSQL As String
On Error GoTo Errorhandler
'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp"
sSQL = "select * FROM Opgaver WHERE uge = " & Me.txtuge & " order by uge" Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly)
'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application")
'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket
'Use index instead of name (language dependant) wkb.Worksheets(1).Cells(1, 1) = "Felt 2" wkb.Worksheets(1).Cells(1, 2) = "Felt 1"
'Or record count will not be correct rst.MoveLast rst.MoveFirst
'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... i = 2 Do Until rst.EOF wkb.Worksheets(1).Cells(i, 1) = Str(rst.Fields![TID]) wkb.Worksheets(1).Cells(i, 2) = Str(rst.Fields![Uge])
rst.MoveNext i = i + 1 Loop
'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets(1).Cells(rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets(1).UsedRange.Columns.AutoFit
Sub_Exit:
On Error Resume Next
'Objektvariablen frigives Set Obvar = Nothing
'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True
Errorhandler: If Err.Number = 94 Then Resume Next Else MsgBox "Error: " & Err.Number & " - " & Err.Description Resume Sub_Exit End If End Sub
this will give you for two weeks NOTE> This is only going to work until we get to the last week of the year, aftre that you wil need to take the your into account too!
Private Sub Kommandoknap3_Click() Dim Obvar As Object, wkb As Object, rst As Recordset ' Variabelerklæringer Dim i As Integer, Felt1 As Integer, Felt2 As Integer, u As String, ux As String, Tek As String, xls As New Excel.Application Dim sSQL As String
On Error GoTo Errorhandler
'Slår alle systemadvarsler fra, jeg gider bare ikke at se på dem DoCmd.SetWarnings False 'kører en sletteforespørgsel, der sletter alle poster i den temporære tabel DoCmd.OpenQuery "slettemp" 'Kører en en tilføjelsesforespørgsel, der sender alle poster i Forespørgsel1 over i den temporære tabel DoCmd.OpenQuery "tilføjtemp"
sSQL = "select * FROM Opgaver WHERE (uge = " & Me.txtuge & " OR uge = " & Me.txtuge + 1 & ") order by uge" Set rst = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset, dbReadOnly)
'Excel åbnes ved hjælp af funktionen "CreateObject" Set Obvar = CreateObject("excel.application")
'Gør Excel synlig, Du kan også flytte denne linie længere ned... 'hvis eksporten skal være afsluttet når Excel bliver synlig Obvar.Visible = True 'Variablen wkb sættes = projektmappen, der tilføjes med metoden Add Set wkb = Obvar.Workbooks.Add 'Der sættes overskrifter på Excel-arket
'Use index instead of name (language dependant) wkb.Worksheets(1).Cells(1, 1) = "Felt 2" wkb.Worksheets(1).Cells(1, 2) = "Felt 1"
'Or record count will not be correct rst.MoveLast rst.MoveFirst
'Løkken der henter data fra tabel1 i Access og lægger data ind i Excel... i = 2 Do Until rst.EOF wkb.Worksheets(1).Cells(i, 1) = Str(rst.Fields![TID]) wkb.Worksheets(1).Cells(i, 2) = Str(rst.Fields![Uge])
rst.MoveNext i = i + 1 Loop
'Summen af felt2 udregnes Tek = "=Sum(R[" + Str$(-rst.RecordCount) + "]C:R[-1]C)" wkb.Worksheets(1).Cells(rst.RecordCount + 2, 1).Value = Tek 'Linien tilpasser bredden af benyttede kolonner wkb.Worksheets(1).UsedRange.Columns.AutoFit
Sub_Exit:
On Error Resume Next
'Objektvariablen frigives Set Obvar = Nothing
'Slår alle systemadvarsler til, husk altid at gøre dette hvis du har slået dem fra i starten af koden DoCmd.SetWarnings True
Errorhandler: If Err.Number = 94 Then Resume Next Else MsgBox "Error: " & Err.Number & " - " & Err.Description Resume Sub_Exit End If 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.