Avatar billede berit66 Praktikant
17. maj 2009 - 11:08 Der 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.
Avatar billede mugs Novice
17. maj 2009 - 11:15 #1
Har ikke eksperimenteret med kommasep. textfil. Er der andre muligheder som f.eks. Excel eller word?
Avatar billede berit66 Praktikant
17. maj 2009 - 11:26 #2
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.

Håber du finder en smart løsning ;-)
Avatar billede mugs Novice
17. maj 2009 - 11:36 #3
Avatar billede berit66 Praktikant
17. maj 2009 - 12:01 #5
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.
Avatar billede mugs Novice
17. maj 2009 - 12:33 #6
Denne eksporterer til notebook med delimmiter ;. Derefter kan  du i Rediger erstatte ; med ,:

DoCmd.TransferText acExportDelim, ";", "Forespørgsel1", "C:\dinfil.txt", True
Avatar billede berit66 Praktikant
17. maj 2009 - 12:59 #7
Som sagt er jeg desværre ikke så god til VBA. Vil du prøve at forklare hvordan jeg bruger koden??
Avatar billede mugs Novice
17. maj 2009 - 13:03 #8
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.
Avatar billede berit66 Praktikant
17. maj 2009 - 13:23 #9
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.
Avatar billede fdata Forsker
17. maj 2009 - 13:59 #10
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.
Avatar billede berit66 Praktikant
17. maj 2009 - 14:33 #11
Fantastisk...... det var lige det jeg skulle bruge!! Tusind tak for hjælpen!!
Avatar billede fdata Forsker
18. maj 2009 - 19:47 #12
Super. Tak for point ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester