invoeren meerdere opeenvolgende datums tussen begindatum en einddatum via vba

Status
Niet open voor verdere reacties.

JohanRVT

Gebruiker
Lid geworden
2 mrt 2011
Berichten
545
Hallo groep,
in bijlage een (gestripte DB) waarbij we de dagreservaties doen van ons dagverblijf, systeem wordt ook reeds lange tijd gebruikt voor registratie van allerlei prestaties (met de knop "registraties vandaag"). Nu zouden de dames vd bureau graag voor de kortverblijven hetzelfde kunnen doen maar deze verblijven spreiden zich meestal over een periode van meerdere maanden. Te gek natuurlijk om dan iedere dag apart te gaan invoeren. Daarom hadden ze graag gehad dat via de knop "registratie periode" alle datum's van "datum van" tot en met "datum tot" ingevoerd worden in de Tbl_KVB met daarbij dus oa de kostprijs.
Hoe pak je zoiets aan?

NB: kan zijn dat door het strippen het subformulier niet direct de gegevens weergeeft, gewoon even het formulier in ontwerpmodus zetten en klikken in de recordbron regel van het subformulier en dan terug in formulierweergave zetten (je moet dan 6 bewoners zien met al dan niet een reservatie volgens de aangeduide datum in de ctrlcalendar)

Bedankt voor advies of voorbeeldje
 

Bijlagen

  • dossier_test.part01.rar
    97,7 KB · Weergaven: 44
  • dossier_test.part02.rar
    4,1 KB · Weergaven: 20
Laatst bewerkt:
Ik zie in het voorbeeld niet gelijk waar je die gegevens zou willen neerzetten; ik mis eigenlijk nog een veld in [Tbl_KVB]. Als je namelijk een begindatum en een einddatum invult, kun je met één record volstaan. En dat lijkt mij toch een stuk overzichtelijker. Nu moet je een lus maken die de tabel opent, dus geen query gebruiken, en voor elke datum een record toevoegt met AddNew.
 
Octafish,

de bedoeling is dus om in de TBL_KVB voor iedere dag die tussen begin en eindatum valt automatisch een record te maken volgens de dagen die er zijn (kan verschillen van maand tot maand dus) met de bedoeling om zoals in het dagverblijf een Rapport te maken per dag en per maand (doe ik via een kruistabelquery, zie bijgevoegde PDF voorbeelden). Indien er dus niet voor iedere dag een aparte record bestaat in die Tbl_KVB gaat dat rapport dus niet. Zo zouden de dames dus vlot kunnen zien welke kamers al gereserveerd zijn en welke nog vrij zijn, bepaalde van onze rusthuizengroep hebben kortverblijven die tot anderhalf jaar op voorhand worden gereserveerd voor de meest uiteenlopende periodes.
 

Bijlagen

  • Rpt_DVC_Kruistabel_Maand.pdf
    68,6 KB · Weergaven: 37
  • DVC_vandaag.pdf
    73,5 KB · Weergaven: 33
Laatst bewerkt:
Dat kan ook als je in tbl_KVB een begin- en een einddatum vastlegt; je hoeft daarvoor dus niet voor elke dag een eigen record te maken. Ik snap wel waarom je dat zo wilt doen, omdat het een stuk makkelijker is om een rapport te maken. Maar je krijgt zo nodeloos veel records die je dus, zoals ik al aangaf, niet nodig hebt. Ik zou dus naar naar een oplossing werken die je db ook voor de langere tijd bruikbaar houdt. En dat is: één veldje erbij zetten.
 
Octafish,

in een andere tabel "kortverblijf" worden deze begin en eind data reeds vastgelegd (bedoeling is eigenlijk dat die data in het invulformulier als begin en einddatum worden aangereikt van het moment dat de bewoner wordt aangeklikt in het invulformulier maar zover waren we nog niet ;) ). Bijgevoegd even de excelfile waarmee ze zich momenteel behelpen via inkleuren van de vakjes over de verschillende maanden. Een andere instelling gebruikt de excelfile maar dan manueel op papier en via kruisjes zetten (en eventueel terug uitvegen, etc....). Je zal ook zien dat niet alle periodes gelijkaardig beginnen of eindigen (bv 's namiddags beginnen ipv 's morgens, er kunnen per dag verschillende extra kosten bijkomen of wegvallen bv wel of niet met de bus afgehaald en teruggebracht, wel of niet middageten, feestjes, etc... en dit heeft gevolgen voor de eindfakturatie). Daarom had ik gedacht dat het misschien het makkelijkst was het per dag te houden (kunnen dat eventueel in een aparte DB stoppen en dan koppelen?). Ik maakte die testversie ook wat uitgebreider naar een test2 met die 2 rapporten onder 2 buttons bovenaan in de invulform.

NB: de kinedatabase die dezelfde invulform gebruikt heeft sinds januari 2007 tot heden zo'n 55.000 records van perstaties verzameld in zo'n tabel en blijft netjes werken onder de 19Mb, als we er dus van uit gaan van 10 kamers kortverblijf wordt dit 10x365 in het beste geval dus zo'n 3650 records per jaar, we moeten de DB dus al 10 jaar gebruiken om iets meer dan de helft te halen van de kine nu.
 

Bijlagen

  • KVB.part1.rar
    97,7 KB · Weergaven: 23
  • KVB.part2.rar
    4,4 KB · Weergaven: 16
  • dossier_test2.part01.rar
    97,7 KB · Weergaven: 19
  • dossier_test2.part02.rar
    55,3 KB · Weergaven: 19
Laatst bewerkt:
Ik blijf vasthouden aan mijn oplossing, door een extra datumveld toe te voegen. In bijgaande db zie je daar een uitwerking van. Het principe is gebaseerd op een extra tabel met de datums, op basis waarvan de queries en de rapporten kunnen worden gemaakt. Met een simpele filtering kun je bijvoorbeeld via een formulier nog wel een selectie aan het geheel toevoegen, maar dat heb ik even weggelaten, omdat dat niks met je oorspronkelijke vraag te maken heeft.
 

Bijlagen

  • dossier_test2.rar
    119,4 KB · Weergaven: 37
Bedankt Octafish, ziet er mooi uit

ik ga het bekijken, zit weer iets nieuws bij dat ik nog niet heb gezien. Heb het min of meer geIntegreerd in een test3 versie.
Had nog een vraagje hierbij aansluitend maar weet niet of er nieuwe thread moet gestart worden.
We zouden nml willen dat in de "Frm_Invulformulier_DVC" bij het selecteren van een bewoner in de subform automatisch eerst de gegevens (die we bewerken in de "Frm_DVCWijzigen") van de geselecteerde bewoner geladen worden in de hoofdform zodat bv minstens het normale aankomstuur, vertrekuur en prijs aangeboden wordt van die bewoner. Niet iedereen komt namelijk op het zelfde uur aan en vertrekt op hetzelfde uur (en niet dus het aankomstuur en vertrekuur dat nu gebaseerd is op de instelling). Tevens moet je het nog kunnen aanpassen als het eenmalig wijzigd; moet dus ergens vanuit de hoofdform in een aantal velden kunnen gewijzigd worden. Heb al een aantal pogingen gedaan via koppelen van 2 subforms en recordsource maar geraak er niet uit omdat telkens je een andere bewoner uit de subform selecteert (of combinatie) er een aanpassing moet gebeuren.
 

Bijlagen

  • dossier_test3.part01.rar
    97,7 KB · Weergaven: 18
  • dossier_test3.part02.rar
    97,7 KB · Weergaven: 15
  • dossier_test3.part03.rar
    97,7 KB · Weergaven: 18
  • dossier_test3.part04.rar
    86,9 KB · Weergaven: 18
Verder bordurend op het probleem van automatisch aanbrengen van uur intrede, uur uittrede en prijs heb ik een probeersel even aangehecht. Als je op de knop "volgende" klikt wordt alles netjes aangereikt maar het lukt me nog nog niet automatisch het te laten doen voor de eerste record van het subformulier bij het opstartten of na drukken op de knop "toevoegen". Iemand een idee?
Bedankt op voorhand

Edit 25/04/2012: de"toevoegen" VBA query code aangepast , zat een foutje in bij de dagprijs, zou nu moeten werken.
 

Bijlagen

  • dossier_test4.part04.rar
    68,6 KB · Weergaven: 13
  • dossier_test4.part01.rar
    97,7 KB · Weergaven: 15
  • dossier_test4.part02.rar
    97,7 KB · Weergaven: 17
  • dossier_test4.part03.rar
    97,7 KB · Weergaven: 14
Laatst bewerkt:
Alvast bedankt Michel maar laat er je rustige momenten (= je slaap?) niet voor. :)
 
Michel,

in het formulier "Frm_Invulformulier_DVC" (dat normaal automatisch opstart) staat rechts een subformulier "Sub_invulformulier_DVC", als je daar klikt op een recordkiezer van een bepaalde persoon dan worden zijn "uur in", "uur out" en "prijs" aangereikt vanuit de tabel "kortverblijf" en links onderaan in de formuliervelden ingevuld. Het zou de bedoeling zijn dat als de gebruiker op de knop "volgende" klikt (waarbij dat dus de volgende record in het subformulier wordt geselecteerd) dit aanreiken van de juiste gegevens ook gebeurd.
Ik krijg dat niet voor mekaar.

NB: Ik heb ook een nieuwe upload gedaan van de test4 bij bovenstaand bericht van 13-04, zat een foutje in de "toevoegen" VBA query bij dagprijs
 
Laatst bewerkt:
Ik heb (op het werk) een oplossing gemaakt met een transparante knop. Deze bevat de code die je nu op het formulier hebt gezet. Die oplossing is een beetje gammel, omdat je eerst een record moet selecteren. Door een transparante knop over alle velden (in de detailsectie dus) te maken, kun je niet meer 'in' de velden komen, maar er wel op klikken. En dat activeert dan de gewenste code.
 
En dit is 'm dan...
 

Bijlagen

  • dossier_test4.part01.rar
    200 KB · Weergaven: 51
  • dossier_test4.part02.rar
    156,9 KB · Weergaven: 27
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan