17. maj 2009 - 11:08Der er
11 kommentarer og 1 løsning
Felt (Varenumre) til kommasepareret textfil
Hej Jeg skal bruge en metode til at konvertere feltet varenumre til en kommasepareret textfil, for at kunne Copy/paste dette ind i et søgefelt i Axapta.
Det må gerne være via VBA kodning, men så skal jeg lige have lidt hjælp til dette, da jeg ikke er nogen ørn til det. Især ikke i Access.
Det vil virkelig være en kæmpe lettelse i mit arbejde, da jeg i øjeblikket sidder og Copy/paster hvert enkelt varenummer i søgningen.
Jeg tror ikke at der er andre muligheder end en textfil, da teksten skal komme i en lang række separeret af et , for at jeg kan kopiere det ind i Axapta.
Jeg har selv fundet en ret bøvlet metode med at lave en krydstabuleringsforespørgsel hvor jeg laver feltet varenumre om til overskrift og derefter eksporterer til excel, gemmer som CSV fil og åbner med notepad og tilsidst erstatter ; med ,. Det fungerer, men er jo som sagt temmeligt omstændigt.
Ja, så meget kunne jeg også godt finde ud af, men problemet er jo at jeg skal have feltet (kolonnen) til at komme i en lang række med et komma imellem. Og ikke en linie for hver post.
Jeg har sat koden ind i en kommandoknap ved OnClick hændelse. Forespørgsel er navnet på den tabel / forespørgsel jeg eksporterer og C:\dinfil.txt er destinationen / navnet på den dannede tekstfil.
Jeg ved ikke om det tilgodeser dine behov, men prøv.
Nej, det gør det nok ikke.... jeg prøvede at sætte en knap ind i en formular med koden, men fik en run-time error med at tekstspecifikationens feltseparator er magen til decimalseparatoren eller tekstafgrænseren.
En mulighed er en lille stump VBA, der løber din tabel igennem og danner en fil:
Sub ExporterKommasepareretListe() Const Filnavn = "C:\Temp\Varenumre.txt" Dim DummyRst As Recordset Dim First As Boolean
First = True Open Filnavn For Output As #1 Set DummyRst = CurrentDb.OpenRecordset("DinTabel", dbOpenSnapshot) With DummyRst Do If Not First Then Print #1, ","; Else First = False End If Print #1, .Fields("Varenumre"); .MoveNext Loop Until .EOF Print #1, "" .Close End With Set DummyRst = Nothing Close 1 End Sub
Du kan kopiere koden ind i knappens OnClick handling.
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.