[Access 2007] Van recordsource naar formulier

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Hallo,

Als ik een recordsource opgeef voor een offerte met bijlage, dan wil ik graag meerdere bijlagen in het formulier doen verschijnen.
Echter, als ik de recordsource opgeef dan wordt ook iedere keer de offerte zelf nog eens herhaald voor het aantal bijlagen dat ik wil.
Een tabel (van de Recordsource) ter verduidelijking:

Naam1 | Prijs1 | Bijlage1
Naam1 | Prijs1 | Bijlage2

Omdat de recordsource twee regels heeft, wordt het hele formulier twee keer in het resultaat weergeven. Waarvan Naam1 en Prijs1 dus dubbel in het formulier komen. Hoe kan ik toch ervoor zorgen dat het resultaat eruit ziet als:
Naam1 | Prijs1 | Bijlage1 | Bijlage2 ?????

Ik hoop dat het duidelijk is!! Heel veel dank alvast!

Groeten Rudolf

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


Acties:
  • 0 Henk 'm!

Verwijderd

1) Ik neem aan dat je in dit geval gebruikmaakt van twee tabellen, waarbij je één master-tabel gebruikt om alle offertes in op te nemen en de andere als child-tabel voor alle bijlagen.

2) Als je een relatie tussen die twee tabellen hebt gedefinieerd, dan kun je met de formulier-wizard heel eenvoudig een formulier-met-subformulier creëren. Uit de mastertabel selecteer je dan de velden Naam en Prijs; uit de child-tabel het veld Bijlage.

3) Het resultaat is een formulier waarin je de offertes kunt selecteren, waarbij je in het subformulier steeds de bijbehorende bijlagen hebt staan.

Acties:
  • 0 Henk 'm!

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Dankjewel! Door de wizard te gebruiken zoals je zei, kwam ik er inderdaad achter dat ik het kopje "Koptekst" had moeten gebruiken. Dit heeft het probleem opgelost! Hiermee heb je mij veel tijd bespaard! Dank.

Dan nog een korte vraag: Ik wil een plaatje een dynamische link geven dmv van:

code:
1
Me!cateringPicture = filepath & Me![catering.image] & ".jpg"


Dit stukje code staat in Private Sub Detail_Format. Alles klopt, alleen kan hij de "catering.image" niet vinden (is ook niet Null) .

De recordSet heb ik op gegeven bij Private Sub Report_Open dmv

code:
1
2
3
4
5
Me.RecordSource = "SELECT * FROM (((([order] " & _
    "LEFT JOIN cateringorder ON cateringorder.orderID = order.orderID) " & _
    "LEFT JOIN catering ON cateringorder.cateringID = catering.cateringID) " & _
    "LEFT JOIN event ON event.eventID=order.eventID) LEFT JOIN customer ON customer.customerID=order.customerID )" & _
    "LEFT JOIN invoice ON [order].orderID = invoice.orderID WHERE [order].orderID = " & arg_id_string


Hoezo werkt de link dan toch niet? Hulp is erg gewaardeerd!

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


Acties:
  • 0 Henk 'm!

  • Moirraine
  • Registratie: Mei 2008
  • Laatst online: 13-02-2024
je zegt Select * from Order en daarna een aantal joins naar andere tabellen. Je moet in het SELECT deel van de query ook het veld meenemen van de image, anders neemt hij het veld niet op in het resultaat.

Acties:
  • 0 Henk 'm!

  • warrie
  • Registratie: Juni 2001
  • Laatst online: 25-01-2020
Dus als ik * noem, pakt hij alleen alles van 'order'? Ook van het tabblad catering, toch? Dank!

Ik zag laatst een zwerver uit een vuilnisbak eten. Ik loop naar hem toe en zeg: "Doe je dat thuis ook??" - Theo Maassen


Acties:
  • 0 Henk 'm!

  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 15-03-2024
Maar de tabel catering zit niet in je FROM, dus nee. Met SELECT * FROM order, krijg je alleen alle velden van order.

De JOINS beperken (of vergroten) alleen de resultaten van de FROM, dat is alles. Als je ook velden van de tabel catering wilt hebben, zul je die aan je FROM moeten toevoegen.

Acties:
  • 0 Henk 'm!

Verwijderd

Wat mij altijd erg helpt is dit soort queries eerst in design view samenstellen, omdat je dan een grafische representatie hebt van je query. Daar zijn we als mensen toch een stuk beter in dan het herleiden van een stukje abstracte SQL :) Je kunt dan ook even testen of je wel de juiste velden en dito data krijgt.

Acties:
  • 0 Henk 'm!

  • Marko_J
  • Registratie: Maart 2010
  • Laatst online: 15-03-2024
Ja, je kan dan meteen ook alleen de velden selecteren die je echt nodig hebt, i.p.v. met * alles op te vragen, daar wordt het niet sneller van :)
Pagina: 1