[Access] Resultaat query in macro

Pagina: 1
Acties:
  • 115 views sinds 30-01-2008
  • Reageer

  • storeman
  • Registratie: April 2004
  • Laatst online: 22:29
Ik ben op stage en krijg een database onder mijn neus gedrukt, deze begin ik nu aardig te doorgronden, echter wat ik ermee moet, wil maar niet vlotten.
Het is de bedoeling dat ik de gegevens uit Access naar Excel pomp, en wel zo dat deze op een gestandaardiseerd formaat in excel komen.

Op zich niet zo'n probleem zou je denken, gebruik macro's, juist, dat wil ik ook. Ik heb al een paar excel macro's geschreven en een .exe welke wat dingetjes met excel doet.
Het probleem zit hem meer aan de Access kant. De database zit sowieso niet erg lekker in elkaar, maargoed, ik moet het ermee doen.

Het probleem is dat ik een aantal units heb met parameters. Deze units hebben recepten onder zich(het aantal is variabel) welke vervolgens ook weer parameters hebben ook stappen (variabel aantal). (kunnen jullie het nog volgen 8)7)

Elke unit moet op een aparte sheet komen.

Nu ben ik zelf PHP gewend, dus dat is gewoon een selectje en door de resultaten heen lopen, nou, niet dus voor Access. Ik heb liever niet dat ik weer allerlei formulieren en dingen moet laten zien. Wel dacht ik dat ik hier een standaard query voor bouw en deze vervolgens met vba aanroep. maar dan?

Ik kan niet bedenken hoe ik de daadwerkelijke data op kan vragen. hij komt altijd maar met sheets en dingen.

bijvoorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Sub RunQuery()
   Dim dbs As Object
   Dim qry As AccessObject
   Dim strNaam As String
   
   Set dbs = Application.CurrentData()
   
   For Each tbl In dbs.AllTables
      If qry .Name = "qryShowNames" Then
         DoCmd.OpenQuery tbl.Name, , acReadOnly
         DoCmd.GoToRecord acActiveDataObject, , acGoTo, 3
         

         MsgBox "De naam van dit record is " & strNaam
      End If
   Next tbl
End Sub


En nu opent ie nog steeds zo'n scherm, en ik heb het vermoeden dat ie dat altijd blijft doen, valt mee te leven, gaat ook wel weer dicht. Maar HOE kan ik nu de DATA uit een rij krijgen.

Ik heb al gegoogled, geGoTTed. Ik vind veel, maar niet hoe ik deze data kan benaderen.

"Chaos kan niet uit de hand lopen"


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Probeer eens te zoeken op 'recordset' in de help. Je opent de query in een recordset en die kan je dan record voor record doorlopen.

Vlinders moet je volgen, niet vangen...


  • storeman
  • Registratie: April 2004
  • Laatst online: 22:29
Hey, dat werkt al een beetje. Ik begon de moed al te verliezen, maar ik ga mij eens verdiepen in DAO geloof ik.

Thnx PaulZ

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub MessageNames()
   Dim DB As database
   Dim rsPersons As Recordset
   
   Set DB = CurrentDb
   
   With DB
      Set rsPersons = .OpenRecordset("qryShowNames")
      
      Do
         MsgBox rsPersons.Fields("Name")
         rsPersons.MoveNext
         blnExists = True
      Loop While Not rsPersons.EOF
   End With
End Sub


Eindigt nog wel me een error, maar daar komt storeman wel uit! - Toch niet

[ Voor 4% gewijzigd door storeman op 02-11-2006 14:28 . Reden: Toch geen error meer.... ]

"Chaos kan niet uit de hand lopen"


  • PaulZ
  • Registratie: Augustus 2004
  • Laatst online: 21-05-2024
Ter overweging: DAO werkt ook, maar volgens mij is tegenwoordig ADO meer gebruikelijk. Aan jou de keuze.

Vlinders moet je volgen, niet vangen...


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
Als je voor elke sheet die je maakt een query maakt (met de hand, of genereert), dan kun je deze vervolgens automatisch exporteren naar een excelsheet (DoCmd.TransferSheet als ik me niet vergis.)

Als je meerdere queries naar dezelfde excel file exporteerd krijgt elke query zijn eigen sheet.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • storeman
  • Registratie: April 2004
  • Laatst online: 22:29
okee, goeie tip! Echter krijg ik het dan vast niet in het gewenste formaat, dus heel veel meerwaarde zal het niet direct bieden.

Toch bedankt!

"Chaos kan niet uit de hand lopen"

Pagina: 1