Avatar billede tingholm Mester
21. oktober 2011 - 14:56 Der er 11 kommentarer og
1 løsning

oprette tabel fra rcordset i VBA

Hej Eksperter

I Access VBA har jeg et recordset som jeg gerne vil have gemt som en database. Hvordan klares det?

Grunden til jeg har mine data i et recordset i stedet for at lave en SELECT INTO er at sorteringen ikke bliver korrekt hver gang i den nye tabel.

Sorteringen er korrekt i forespørgselen hver gang, så måske problemet kan løses ved at gemme recordsettet fra forespørgselen via VBA...
Avatar billede fdata Forsker
21. oktober 2011 - 15:43 #1
"sorteringen ikke bliver korrekt hver gang ..."
Altså du kører noget i stil med:

  SELECT Tabel1.*
  INTO NyTabel
  FROM Tabel1
  ORDER BY Tabel1.DitFelt1, Tabel1.DitFelt2;

og får varierende sorteringer?
Avatar billede neoman Novice
21. oktober 2011 - 17:08 #2
Tabeller har ingen medfødt sortering - det er som en spand fisk, hvor en ny fisk glider på plads et eller andet sted. Når du kigger på en tabel, eller hiver data ud, gør det ved hjælp af en query, eller sæt sortering på form/rapport.
Avatar billede neoman Novice
21. oktober 2011 - 17:12 #3
så med andre ord, uanset hvordan du sorterer dine fisk når du hælder dem i spanden, er det uforudsigeligt hvor de er , når du blot kigger på spanden bagefter.
Avatar billede tingholm Mester
21. oktober 2011 - 17:19 #4
I har begge fuldstændig ret, i mine øjne virker det fuldstændig tåbeligt at der er mulighed for at vælge sortering i en tabeloprettelses-forespørgsel.

Men hvordan skal man så håndtere at få nogle data i csv, sortere dem efter en masse kriterier og eksportere dem til en anden csv?
Jeg er nået frem til at jeg kan lave et recordset og eksportere dette i stedet for at gemme det til en tabel, men jeg vil i flere tilfælde have behov for at behandle data videre efter sortering...
Avatar billede neoman Novice
21. oktober 2011 - 17:52 #5
Så skal du tage fat i tabellen vha en query hvor du specificerer sortering  - der er ingen anden vej
Avatar billede tingholm Mester
21. oktober 2011 - 18:16 #6
Hvordan specificerer jeg det?
Hvis jeg bare højreklikker på en kolonne-overskrift, vælger 'sorter stigende' og gemmer ændringer når jeg lukker tabellen. Så vises tabellen korrekt sorteret, men hvis jeg eksporterer den, så er rækkefølgen på den eksporterede fil den samme som tabellen var ved oprettelse og ikke den sortering jeg har rettet til...
Avatar billede tingholm Mester
21. oktober 2011 - 18:18 #7
Det skal måske lige bemærkes at jeg aldrig vil få behov for at tilføje rækker til tabellen senere. Der er udelukkende tale om behandling af hvert data-sæt én gang.
Avatar billede Slettet bruger
21. oktober 2011 - 19:10 #8
Du kan eksportere en query der udtrykker den sortering du ønsker.
Avatar billede neoman Novice
21. oktober 2011 - 21:33 #9
Lad os ta' det en gang til: EN TABEL HAR INGEN SORTERING!!!!

Dit klikkeri i tabellen trigger en query hægtet på visningen af tabellen ENE OG ALENE  når du har åbnet tabellen, og kun på det tidspunkt!

At tilgå data  sorteret på nogen specifik måde kan du kun gøre vha af en query, som fdata illustrerede i #1 hvor ORDER BY var specificeret, elller ved at specificere en ORDER BY i den form eller rapport som har tabellen som record source. Ingen andre muligheder.

Hvis du skal eksportere noget, så er en query et sorteret recordset (hvisdu ahr secfiert ORDER BY) som tér sig på samme måde som en tabel.
Avatar billede tingholm Mester
22. november 2011 - 13:33 #10
HA, jeg havde ikke lige opdaget at jeg kunne eksportere en forespørgsel direkte. Jeg troede jeg skulle oprette en tabel som jeg så kunne eksportere bag efter.

neoman: jeg skulle bare lige forstå dig korrekt, smider du svar til point?
brugerekspert: du sagde ordene der fik 5-øren til at falde, smider du også et svar?
Avatar billede tingholm Mester
12. april 2012 - 10:39 #11
Neoman og brugerekspert: Vil i have points eller skal jeg bare lukke?
Avatar billede tingholm Mester
20. april 2012 - 10:48 #12
Lukker, men tak for hjælpen uanset :)
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