25. november 2007 - 15:20Der er
7 kommentarer og 1 løsning
Kode til eksport af udvalgte filer fra tabel
Jeg har en tabel T_VARER, hvorfra jeg gerne vil eksportere felterne LAGERNUMMER, BEHOLDNING, LOKATION og LEV_STREGKODE til en semmikolon separeret fil i nævnte rækkefølge. Eksporten skal udføres ved tryk på en kommandoknap ved hjælp af en kode. Jeg har forgæves ledt efter noget der kunne anvendes. Er der nogen der kan hjælpe?
Private Sub Overfør_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb Set rs = db.OpenRecordset("select * from T_VARER") Open "C:\test.txt" For Append As #1 With rs .MoveFirst Do Until .EOF Print #1, !Lagernummer & ";" & !BEHOLDNING & ";" & !LOKATION & ";" & !LEV_STREGKODE .MoveNext Loop End With Close #1
Jeg har stadig lidt problemer, men jeg har fået det til at virke med denne:
Private Sub Overfør_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim MyFile As String Set db = CurrentDb Set rs = db.OpenRecordset("select * from EKSPORT_T_VARER") MyFile = Application.CurrentProject.Path & "\LAGER.DAT" Kill MyFile Open MyFile For Append As #1 With rs .MoveFirst Do Until .EOF Print #1, !LOKATION & ";" & !BEHOLDNING & ";" & !LAGERNUMMER & ";" & !LEV_STREGKODE & ";" & !GENSTANDSNAVN .MoveNext Loop End With Close #1
End Sub
Men min scanner kræver følgende format: 15550; 88888; ;2222334445555 ; 14440; 66666; ;1111223334444 ; 18810; 222;1000000001; ;Gaffatape, b50mm 10110; 111;1000000001; ;Gaffatape, b50mm 10220; -444;1000000002; ;Skruetrækker, ligekærv 5mm 18830; 666;1100000001; ;Hammer
Altså faste længder mellem semmikolonnerne på 5, 10, 10, 25, 50 karakter Hvordan får jeg lagt space ind så filen bliver korrekt?
Vil gerne hæve point for dette spørgsmål, hvordan gør jeg det?
Private Sub Overfør_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim MyFile As String, D(3) As String, MM As String MM = " " ' 50 mellemrum Set db = CurrentDb Set rs = db.OpenRecordset("select * from EKSPORT_T_VARER") MyFile = Application.CurrentProject.Path & "\LAGER.DAT" Kill MyFile Open MyFile For Append As #1 With rs D(0) = Left(MM, 10 - Len(!BEHOLDNING)) D(1) = Left(MM, 10 - Len(!Lagernummer)) D(2) = Left(MM, 25 - Len(!LEV_STREGKODE)) D(2) = Left(MM, 50 - Len(!GENSTANDSNAVN)) .MoveFirst Do Until .EOF Print #1, !LOKATION & ";" & D(0) & !BEHOLDNING & ";" & D(1) & !Lagernummer & ";" & D(2) & !LEV_STREGKODE & ";" & D(3) & !GENSTANDSNAVN .MoveNext Loop End With Close #1
Det er der hen af, men den melder fejl når GENSTANDSNAVN er Null eller "". Hvordan kringler jeg den?
Private Sub Overfør1_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim MyFile As String, D(2) As String, MM As String MM = " " ' 50 mellemrum Set db = CurrentDb Set rs = db.OpenRecordset("select * from EKSPORT_T_VARER") MyFile = Application.CurrentProject.Path & "\LAGER.DAT" Kill MyFile Open MyFile For Append As #1 With rs .MoveFirst Do Until .EOF D(0) = Left(MM, 10 - Len(!BEHOLDNING)) ' D(1) = Left(MM, 10 - Len(!LAGERNUMMER)) D(1) = Left(MM, 25 - Len(!LEV_STREGKODE)) D(2) = Left(MM, 50 - Len(!GENSTANDSNAVN)) Print #1, !LOKATION & ";" & D(0) & !BEHOLDNING & ";" & !LAGERNUMMER & ";" & D(1) & !LEV_STREGKODE & ";" & !GENSTANDSNAVN & D(2) .MoveNext Loop End With Close #1
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.