Simpel contact personen systeem met interface

Status
Niet open voor verdere reacties.

goedlichtJoost

Gebruiker
Lid geworden
7 mrt 2012
Berichten
477
Hallo Allemaal,

Laat ik beginnne met zeggen dat ik weinig kaas gegeten heb van Acces.

Wat ik eigenlijk zou willen is:

-Een contact personen database
-aan deze contact personen zou ik graag een pdf willen koppelen (heb al gevonden dat dit gewoon werkt met slepen?)
-en aan elke contact persoon een datum. met hieraan gekoppeld melding van bereiken van datum (of de week ervoor ofzo)

Ik zou graag 1 main formulier hebben met hierop 3 knoppen.
-New (toevoegen van nieuw contact persoon) klikken hierop geeft dan invul formulier voor nieuwe contact persoon
-Zoeken (zoeken in de huidige contactpersonen) klikken hierop geeft een invulformulier met de zoekwensen en dan een resultaat
-edit (wijzigen van een contact) klikken hierop geeft dan alle contact personen die je kunt wijzigen via het nieuwe contacten formulier? weet niet wat het handigste werkt.

De daadwerkelijke database hoeft dus eigenlijk nooit visueel te zijn.

Mijn eerste vraag is natuurlijk: Is dit mogelijk binnen Acces?

Nu moet ik zeggen ik heb geen flauw idee hoe dit moet. ik heb al even lopen stoeien met acces en kan bijvoorbeeld een formuliertje maken etc.
Kan iemand mij uitleggen hoe ik dit het beste aan kan pakken? of een voorbeeldje maken? of een soort van handleiding?

Alle hulp is welkom!

gr
Joost
 
Ik zou zeggen: gebruik de wizard om een Contactpersonen sjabloon te starten; dan heb je gelijk alles wat je maar zou willen in je db zitten.
Overigens zou ik eerst nadenken over wat de db moet kunnen, voordat ik zou bepalen hoeveel knoppen ik nodig had. De uitvoering van de db volgt uit de functieomschrijving, en niet andersom :)
 
Hallo OctaFish,

Bedankt voor je snelle reactie,
Ik heb na wat rond zoeken etc al heel wat gevonden.
Het werkt eigenlijk al prima al zoek ik nog twee functionaliteiten:

1.
Ik heb een tekstveld waarin ik een datum kan kiezen (start-datum) , en ik heb een veld waarin ik een getal ik kan vullen (aantal maanden).
Nu zou ik graag een 3e veld krijgen waarin de eind datum: dus gekozen start-datum + het aantal ingevulde maanden op kan tellen.
Het optellen van de twee velden gaat uit van dagen. 10 maanden + 5 december 2012 krijgt dus als uitkomst 15 december 2012.. ik zou graag 5 mei 2012 willen


2.
Ik zou graag dan aan de hand van het 3e veld met daarin dus de einddatum, een email willen genereren (of een popup melding in het programma? weet niet wat makkelijker is). die 2 maanden voordat de einddatum bereikt is, verstuurd wordt.

Is dit mogelijk?

Mvg
Joost
 
Laatst bewerkt:
Een automatisch email versturen vanuit Access is lastig, omdat je de db wel open moet hebben staan. Je zou daar een db voor kunnen gebruiken die middels een Scheduled Task wordt geopend, de records selecteert met een query die moeten worden gemaild en die de mailing verstuurt. Die zou je dan 's nachts bijvoorbeeld kunnen laten draaien.
Een berekening maken op basis van een datum is relatief simpel; met de functie DateAdd (Datum Retour: DateAdd("m";2;[Uitleendatum]) bijvoorbeeld) kun je die datum wel berekenen. Ik krijg de indruk dat je die datum wilt opslaan, maar dat is nergens voor nodig, en zelfs ongewenst. Alles wat je kunt berekenen, hoef je in beginsel niet op te slaan.
 
Hallo OctaFish,
Nee ik heb gemerkt dat alles wat je wilt berekenen je beter niet op kunt slaan (want dan kun je het niet meer berekeken:P)

Ik heb nu dus een tekst veld waarin een ik waarde 3 invul.
Dan heb ik een datum tijd veld waarin ik eeen waarde 11-12-2012 kies
en dan heb ik een ongekoppeld veld waarin ik bij besturingselementbron invul: =DateAdd([looptijd1];2;[Datum1])

Dit werkt niet. Heb ik de formule verkeerd begrepen?

Oke het mailen wordt dus lastig? is het dan bijvoorbeeld simpel om iets in je agenda te laten zetten? of een popup te laten verschijnen wanneer je het programma voor het eerst opent ofzo? of elke keer als je het programma start, dat je dan eerst een pop-up krijgt van alle einddatums die binnen 2 maanden zijn?

Wat het dan weer natuurlijk moeilijk maakt, is dat die einddatum berekend is? dus dan staat hij nergens altijd controleerbaar?

Mvg
Joost
 
Edit: formule inderdaad verkeerd begrepen.. =DateAdd("m";[looptijd1];[Datum1])


Nu nog de melding of iets van notificatie
 
Oke ik heb er even over na gedacht, en ik wil eigenlijk het volgende maken.

Ik wil een knop maken die een email naar mijzelf toestuurt.
In deze email staan alle gegevens van een contact persoon waarbij de (Start datum + looptijd in maanden) - de huidige datum = <60 dagen(2 maanden).

Dit lijkt me toch mogelijk? kan iemand me uitleggen hoe ik dit moet doen??
Alvast bedankt.

gr
Joost
 
Dan ga je een persoon dus 60 mailtjes sturen? (elke dag tussen vandaag en 60 dagen is <= 60)
 
Hallo OctaFish,

Het is al gelukt! Nee hoor ik maak gewoon 1 knop waarbij we een lijst kunnen emailen/afdrukken van alle personen waarbij de datum op 60 of minder staat.
Deze knop drukken we gewoon 1 x in de maand in, en dan zijn we altijd ruim optijd.

Het zal misschien wel handiger kunnen. maar zo gezegd, ik ben pas sinds vandaag bezig met Acces.



Maar ik heb nog wel 1 vraag: Ik zou nu graag mijn programma als runtime willen openen (komt namelijk op de server te staan, iedereen mag het gebruiken en records toevoegen en verwijderen, maar niet de indeling of iets verwijderen).
Nu heb ik die runtime add-in gedownload, en weet ik dat je gewoon de extensie van je database moet veranderen.
als ik hem nu open, opent hij mooi mijn gemaakt formulier.
maar echter zit hier nu geen koppeling met mijn tabel, (gegevens zijn weg, en kunnen geen nieuwe aangemaakt worden)
Tevens zit er ook geen koppeling met mijn gemaakte rapport kan ik ook niet exporteren.

Dus mijn vraag is eigenlijk? hoe kun je een runtime maken dat zowel je formulier, rapport en tabel werken?


Mvg
Joost
 
Een runtime heb je alleen nodig op pc's waar geen Access op staat. Je moet zowiezo als je veiligheid wilt in de db, de database splitsen in (een) Frontend(s) en een Backend. De Backend bevat de tabellen en de Frontends bevatten de formulieren, queries etc. en koppelingen naar de backend. In de frontend zitten dus geen tabellen. De Frontend kun je dan bij de verschillende personen uitzetten, zodat iedereen een eigen werkomgeving opstart, en de gebruikers elkaar niet in de weg zitten. De frontends moet je gewoon goed beveiligen; een normale gebruiker hoeft niks te kunnen qua ontwerp etc, dus dat kun je allemaal dichtzetten. Laat desnoods gebruikers inloggen, dan kun je met een usertabel alle inloginstellingen vastleggen, en voor elke gebruiker precies aangeven wat hij/zij wel mag zien.

En wat je oorspronkelijke vraag betreft: ja, dat kan een heel stuk handiger :) Ik zou minstens in een selectievakje bijhouden of iemand al een mail gehad heeft, zodat je die kan uitfilteren voor de volgende mailing. Maar dat zou mijn insteek zijn...
 
Hallo OctaFish,

Bedankt weer voor je reactie,

De einddatums zijn enkel belangrijk voor onze calculator. Dus er wordt altijd maar 1 mailtje verstuurd (het is niet een herinnering voor de klanten) anders zou het inderdaad niet kunnen om elke maand iedereen een mail te sturen:p.

Dan het volgende, ik denk dat er dan inderdaad dat er iets gemaakt moet worden met een inlogscherm, verschillende gebruikers, verschillende mogelijkheden en restricties per gebruiker.
Ik heb geen flauw idee hoe dit moet. Dus mocht iemand het mij kunnen uitleggen dan hoor ik het graag.

Met vriendelijke groeten,

Joost
 
Gebruikersrechten in een db komen regelmatig langs, met voorbeelden. Kijk eens naar dit voorbeeldje, dat is een redelijke nette oplossing die we met z'n allen de laatste jaren bij elkaar geklust hebben.
 
Hallo OctaFish,

Ik heb het voorbeeld gedownload en even door gekeken, ik heb alleen te weinig kennis van Acces om hieruit op te maken wat de verschillende stappen zijn geweest.

Misschien is het handig dat ik mijn eigen database even toevoeg.

Het inloggen is gelukt echter zitten er nog geen restricties aan het inloggen.
Graag zou ik willen dat ik kan instellen dat 1 gebruiker niet op tablad 2 (van formulier contactpersoongegevens) kan komen.
Ik weet dat er wat formulieren op staan die ik niet gebruik (main en lijst van....) maar als ik deze wijzig dan werkt op mijn main formulier: contactpersoongegevens, het dropdown menu om tussen records te switchen niet meer.

Ik zie ook dat in het voorbeeld er opgestart wordt zonder dat je iets kunt wijzigen.. Dit krijg ik voor elkaar door de extensie van mijn database te veranderen naar: .accdr.
Zo wil ik hem dus bij de verschillende gebruikers gaan plaatsen.

Bekijk bijlage Contactpersonen.part01.rarBekijk bijlage Contactpersonen.part02.rar

Mvg
Joost
 
Zelf zou ik de instellingen (wel of niet wijzigen etc) regelen in de db zelf, en niet via een extensie. Maar die keuze ligt natuurlijk bij jou.
Ik kan je db pas vanavond bekijken i.v.m. versie, maar een algemene uitleg kan natuurlijk wel. Het voorbeeld maakt gebruik van een aparte tabel waarin je de users vastlegt, met een rechtenwaarde. Bij het inloggen wordt de die waarde ingelezen, en op basis daarvan worden de verschillende formulieren geopend. Bij het openen van een formulier met tabbladen wordt dus op basis van een waarde de eigenschap Visible ingesteld. En op die manier kun je alles dichttimmeren wat je wilt. Hoe uitgebreider je het maakt, hoe ingewikkelder om te onderhouden, maar hoe specifieker je de db kunt tunen. Je kunt bijvoorbeeld een aparte tabel maken voor de rechtenstructuur, waarbij je voor elk formulier aangeeft welke instellingen moeten worden gebruikt. Die structuur lees je dan in bij het openen van het formulier. Ook kun je naast de rechtengroepen nog individuele rechten geven, zodat iemand met niveau 3 op één of meer formulieren de rechten krijgt van niveau 2. Zoals gezegd: het maakt het wat ingewikkelder :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan