Oprettet man. d. 15. november 2004 kl. 16:01:14

puppetmaster
puppetmaster (11.732 point. Point ude: 15)

Sammenkæde data fra 2 tabeller

Nu har jeg prøvet snart sagt en hver kombination for at hente data fra mine tabeller, så det er de "rigtige" data der bliver repræsenteret, men uden held!

Fra mine 2 tabeller, tblPartier og tblPaller, skal jeg overføre data til Excel vha. VBA. Det er ikke svært at overføre tal fra den ene tabel til min Excel skabelon, men når der skal "Kryds-forespørges" eller hvad det hedder, går det galt.
Skabelonen består af 6 faner, "Dag1" til "Dag5" og "Total".
Data fra tblParti skal på fanen "Total", hvilket fungerer fint.
Dataene fra tblPaller skal på fanerne "Dag1" til og med "Dag5", AFHÆNGIGT af den registrerede dato, samt selvfølgelig indsættes på det rigtige sted i regnearket.

Eksempel på data i tabellerne
*****************************

tblPaller:

Købsordre    Partinr.    Antal Enh    PalleKlLosDato
KO020306      4325          30        15/11/2004
KO020306      4325          30        12/11/2004
KO020306      4325          30        15/11/2004
KO020306      4325          30        14/11/2004
KO020306      4325          30        17/11/2004
KO020306      4325          30        15/11/2004
KO020306      4332          27        14/11/2004
KO020306      4332          27        13/11/2004
KO020306      4332          27        13/11/2004


tblParti:
Partinr.    PartiKlOrdrerNr    Antal krt.    Kg
4325          KO020306          300      9000
4326          KO020306            0        0
4327          KO020306            0        0
4328          KO020306            60      1800
4329          KO020306            0        0
4330          KO020306            0        0
4331          KO020306            0        0
4332          KO020306            60      1800
4333          KO020306            0        0
4334          KO020306            0        0

Mine 6 ark i Excel skabelonen er stort set ens. Når jeg kører VBA koden, bliver alle data fra tblParti sat ind så de ligner ovenstående, dvs. fortløbende hvor alle Partinr. vises.
Ang. dataene fra tblPaller som skal på de andre 5 ark, så skal de sorteres på dato, så de poster der har den ældste dato kommer på "Dag1", næstældst på "Dag2" og så fremdeles. I ovenstående ses at der kun er data for 2 af partierne. dvs. at i ovenstående tilfælde skal første række i regnearket udfyldes med data fra tabeller, så en masse 0'ere i de rækker hvor der ingen data er, så data fra tabellen igen, partinr = 4332 og så igen 0'ere.
Hvordan gør man det? :( :( :( :( :(

Skrevet tir. d. 16. november 2004 kl. 12:00:29| #1

staticdata
staticdata (14.989 point)
Hvis jeg forstår det ret (for der er nogle upræcise ting i dit spørgsmål), så HAR du lavet de nødvendige queries? I så fald synes jeg, at du skulle kalde dem Query_Dag1, Query_Dag2, ... og eksportere dem til hvert sit excel-ark. Herfra kan du overføre til din Excel-skabelon, hvordan du end bærer dig ad med det. Har jeg misforstået noget?

Skrevet tir. d. 16. november 2004 kl. 13:33:29| #2

staticdata
staticdata (14.989 point)
Tag dig lige sammen. Dette spørgsmål er præcis det samme som http://www.eksperten.dk/ (...)

Skrevet tir. d. 16. november 2004 kl. 13:41:29| #3

puppetmaster
puppetmaster (11.732 point)
Ja, det er ret diffust, det ved jeg godt, håbede på nogle spørgsmål, som kunne hjælpe mig til bedre at forstå hvordan jeg skal gøre det jeg forsøger at gøre.
Nej, jeg har IKKE lavet de nødvendige queries, kun en enkelt, som henter data min tblParti tabel og sætter dem ind i regnearket "Total".
Den del af det ser sådan her ud:

  Set dbs = CurrentDb
  Set rst = dbs.OpenRecordset(SQLString, dbOpenDynaset, dbSeeChanges)
 
  xlsheet.Rows("1:1").Select
  If rst.EOF Then Exit Sub
  rst.MoveFirst
  xlsheet.Cells(3, 3) = rst("PartiKlOrdrerNr")
  xlsheet.Cells(4, 3) = rst("PartiKlRekviNr")
  xlsheet.Cells(2, 12) = rst("PartiKlForventetAnkomst")
  xlsheet.Cells(3, 5) = rst("Transportskib")
  j = 7
  While Not rst.EOF
    j = j + 1
    For i = 0 To rst.EOF
      xlsheet.Cells(j, i + 1) = rst("PartiKlNr")
      xlsheet.Cells(j, i + 3) = rst("PartiKlFabaadId")
      xlsheet.Cells(j, i + 2) = rst("PartiKlVareId")
      xlsheet.Cells(j, i + 4) = rst("Størrelse")
      xlsheet.Cells(j, i + 5) = rst("Fiskeart")
      xlsheet.Cells(j, i + 6) = rst("CARGO") / rst("PartiKlKgKrt")
      xlsheet.Cells(j, i + 7) = rst("PartiKlKgKrt")
      xlsheet.Cells(j, i + 8) = rst("CARGO")
      xlsheet.Cells(j, i + 9) = rst("PartiKlAntalKrtRea")
      xlsheet.Cells(j, i + 10) = rst("PartiKlKgIaltRea")
      If rst("PartiKlRvProeveOk") = -1 Then
        xlsheet.Cells(j, i + 13) = "x"
      Else
        xlsheet.Cells(j, i + 13) = ""
      End If
      xlsheet.Cells(j, i + 14) = rst("PartiKlMrkId")
    Next
    rst.MoveNext
  Wend


Nu vil jeg gerne "indflette" at data fra tblPaller bliver indsat på de 5 andre regneark (Dag1 til Dag5) i samme hug. I mit eksempel er der kun registreret paller hørende til 2 af partinumrene.
Regnearket "Total" ligner tblParti til forveksling, men jeg kan ikke finde ud af at få udfyldt de andre regneark i samme ombæring.
Jeg har prøvet at køre 2 løkker, men så kommer f.eks. Dag1 til at ligne:
Købsordre    Partinr.    Antal Enh    PalleKlLosDato
KO020306      4325          27        12/11/2004
KO020306      4332          27        12/11/2004

Dvs. der kommer ingen blanke rækker i regnearket, hvor der ingen værdier er.

Skrevet tir. d. 16. november 2004 kl. 14:07:30| #4

puppetmaster
puppetmaster (11.732 point)
Hmmm... i det andet spørgsmål vil jeg bare overføre til arkene Dag1 til 6, i dette spørgsmål vil jeg koble den forespørgsel sammen med en anden, så det hele bliver afviklet i samme løkke. Har ikke fået (brugbart) svar på either...

Skrevet tor. d. 09. december 2004 kl. 13:19:28| #5


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Link til et dokument

Oprettet den 10. februar 2012 kl. 14.15
omn giver 60 point for svar | Giv et svar »

Formular med flere paramtre

Oprettet den 9. februar 2012 kl. 16.48
stuegnu giver 100 point for svar | Giv et svar »

Kodemodul ???

Oprettet den 8. februar 2012 kl. 17.05
olejohn giver 200 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger