theoretisch vraagje

Status
Niet open voor verdere reacties.

so10070

Gebruiker
Lid geworden
4 feb 2014
Berichten
424
Wat is het verschil tussen enerzijds veldwaarden, velden, records, enz. zoeken via DAO of dit rechtstreeks op de volgende manier doen.
Code:
Veldwaarde = CurrentDb.TableDefs("Tabelnaam").Fields("Veldnaam")
 
De manier die je laat zien heb ik nog nooit gebruikt. Werkt die? Maar zelfs als het werkt: veel omslachtiger kan het bijna niet :).
 
Neen, zelf niet getest. Gevonden op internet. Maar aan je reactie te zien, bete DAO gebruiken. :)
 
Zolang ik niet weet wat je wilt doen, laat ik het antwoord op die vraag in het midden :). Maar je had een andere vraag gesteld:
Wat is het verschil tussen enerzijds veldwaarden, velden, records, enz. zoeken via DAO of dit rechtstreeks op de volgende manier doen.
Een tabel bestaat uit minstens één veld, en een record bestaat dan uit minstens één veld met een waarde. Hoe je die tabel benadert, hangt af van de bouw van je db. Heb je niet-gebonden formulieren, dan moet je die vullen met een recordset die je zelf bouwt. Dat kan met DAO of ADO, waar je de voorkeur aan geeft.
 
Ik wil een aantal velden in een record van een bepaalde tabel vinden (velden met kenmerk JA/NEE) die het kenmerk Ja hebben. Maximaal 17 velden. Ik denk als ik het geselecteerde record doorloop via "For Each fieldname" ik de waarde achtereenvolgens in een string kan opnemen. Deze string komt op een formulier. En mijn oorspronkelijke vraag was dan: kan dit ook zonder DAO zoals ik op internet gevonden had.
 
Ik snap het nog steeds niet. Zoals ik het nu snap heb je in je tabel minstens 17 Ja/Nee velden, en voor elk record (hoeveel records gaat het dan om?) waarvan één van die velden Ja (True) is, wil je de waarde van dat veld in een string opnemen? Enig idee hoe dat er uit ziet? Stel dat je 20 records hebt, waarvan in totaal 40 velden TRUE zijn, dan is dit je resultaatstring:
Code:
-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1;-1
Dat lijkt mij een vrij nutteloze string. Dat resultaat wil je dan terugzien op een formulier, dat dus een niet-gebonden formulier is. Sowieso kan dat alleen met een reocrdset (ADO of DAO). Op een (gebonden) formulier zie je altijd maar de velden en berekeningen van één record, en hooguit in de voettekst een totaalberekening.
 
Diensten nemen overheidsproducten (onderwijs, gebouwen, leermiddelen, veiligheid, enz.) voor het werkjaar op. Bijvoorbeeld: het product "Opgevolgd doorlichtingsverslag" wordt door onderwijsmanagement en de betrokken scholen opgenomen. Het gaat in totaal over 19 diensten. Dus op het record van het product zijn maximaal 19 diensten aan te duiden die dit product kunnen opnemen. Evenzo voor de rapportage naar het directiecomité van deze producten kunnen er maximaal 19 diensten rapporteren. Meestal zijn dat er minder dan er toegewezen worden aan producten. Op het formulier van de betrokken dienst die zijn toegewezen producten bekijkt (hoofdformulier: betrokken dienst, subformulier: toegewezen producten) moet er ook een veld komen waar per product de rapporteur(s) opgegeven worden. Het aantal en het soort rapporteur haal ik uit de tabel productencatalogus. In de string vervang ik de waarde "-1" met de naam van de dienst die rapporteert. De string heeft dan ongeveer deze vorm: "BON, SBI, OM". Voor elk product is deze string dus anders. Ik zoek dan eerst het betrokken product en overloop dan de velden die betrekking hebben op de rapportage.
Ik hoop dat je een beetje kan volgen. Hieronder een visueel voorbeeldje.
Voorbeeldje.png
Ik ben op zoek naar een elegante manier om deze velden direct aan te kunnen spreken. Ik denk dat dit het best werkt met DAO.
 
Je hele constructie roept: niet genormaliseerd! Ik zou dit echt anders oplossen met een aparte gekoppelde tabel. Al was het maar vanwege:
Meestal zijn dat er minder dan er toegewezen worden aan producten.
In jouw geval zou een veld (ja, ik bedoel één veld ;) ) met meervoudige selectie perfect werken. Je neem dan alle diensten op in een aparte tabel, en koppelt die aan dat veld. Door dat in te stellen op meervoudige waarden, kun je alles aanvinken wat je maar wilt. Komt er een dienst bij, heb je er geen omkijken naar, want die voeg je gewoon aan je brontabel toe. En in je rapport zet je dus dat ene veld neer. meer hoef je niet te doen.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan