Automatisering

Status
Niet open voor verdere reacties.

Emelie

Gebruiker
Lid geworden
20 okt 2009
Berichten
39
Hey allemaal,

ik ben een rapport aan het proberen maken (idd. proberen want ik ken zo goed als niks van access) en in het rapport moet rechts boven het adres van iemand komen. Dus op lijn 1 naam en voornaam, op lijn 2 straat en nr en op lijn drie postcode en gemeente. Ik heb al die gegevens in een tabel staan. Nu is mijn vraag: is het mogelijk om bevoorbeeld de achternaam van iemand in te typen waardoor automatisch in alle andere velden in het rapport de rest wordt ingevuld. Ik typ bvb Vanderstraeten en de voornaam en het adres gebeuren automatisch...

Is dit mogelijk en zoja .. hoe?

Alvast heel fel bedankt!!!
 
Een rapport is altijd (normaal gesproken...) gebaseerd op een gegevensbron, dus een tabel of een query. In die gegevensbron staan alle velden die je nodig hebt, dus in jouw geval in ieder geval Naam, Adres en Woonplaats.
In het Ontwerpscherm van het rapport zet je alle elementen (velden, lijnen etc.) op de juiste plaats. Vervolgens kun je het rapport bekijken.
Je hoeft dus nooit iets in te vullen; alles wat je in het rapport zet,krijg je gelijk te zien.

Ik vermoed echter, dat je één (naam en) adres wilt selecteren, en alleen de gegevens van dat specifieke record wil je zien/afdrukken. Als dat de bedoeling is, zul je een formulier moeten maken waarin je een selectie maakt, waarna je via een knop het rapport met het geselecteerde record kunt openen.
 
Octafish,

je zegt in je laatste zin "... zul je een formulier moeten maken waarin je een selectie maakt, waarna je via een knop het rapport met het geselecteerde record kunt openen"

Maar wat bedoel je met "een knop"? sorry maar ik ben echt een leek in access :o

Want ik wil alles in mijn rapport op de juiste plaats zetten want als ik -in het verleden- probeerde een formulier te maken en dan dat als rapport afdrukken dan staat alles op andere plaatsen en met een rapport kan ik veel meer beslissen waar ik wat zet.

Dus is er een mogelijkheid om een rapport te maken en in de lege "vakjes" in mijn rapport een soort link te maken naar mijn tabel + wanneer ik een deel van de naam invul ik de rest van de naam en/of ook het adres krijg uit de tabel?

Moest het niet lukken dat alle "vakjes" spontaan invullen dan zou ik ook al content zijn moest het mogelijk zijn om in elke vakje de beginletters in te vullen en dat dat voldoende is om de volledige tekst te krijgen en dit voor elk vakje te herhalen.

Ik hoop dat je me kan helpen en in elk geval al drie dikke kussen voor de moeite en tijd die je voor mij vrijmaakt!
 
Ah, we gaan weer vleien ;) Helpt overigens altijd, dus vooral niet mee stoppen!
Vraag 1: heb je al eens een rapport gemaakt via de Wizard?
Zo nee, probeer dat eens, en kijk dan wat er gebeurt in het Ontwerpscherm. Waarschijnlijk zul je de opmaak van de standaardrapporten afschuwelijk vinden, tenzij je bij Microsof werkt, want ik heb nog nooit iemand ontmoet die standaardrapporten gebruikt, en er nog tevreden mee is ook, maar ze geven wel een goed idee wat je er mee kan, en hoe je de gegevens kunt plaatsen/gebruiken.

Zo ja:
Was het rapport niet te gebruiken als uitgangspunt voor je eigen databestand? En waarom dan niet?
Vraag 2: heb je een formulier (gemaakt) voor de tabel of query die je wilt gebruiken om records te selecteren die je in het rapport wilt zien? Want dat is dus wat ik bedoelde met mijn opmerking. Als je een standaardrapport maakt, dan gebruik je meestal de hele tabel als gegevensbron. Je ziet dan alle records uit de tabel terug in je rapport. Heb je dus een tabel met 120 leden, dan heb je in je rapport ook 120 pagina's. Vaak wil je een of een paar records als bron gebruiken voor het rapport, wat dus inhoudt dat je eerst een selectie moet maken. Dat wordt dus vaak via een formulier gedaan, waar je een aantal selecties kunt maken, waarna je op een knop drukt, die het rapport opent met de selectie die op het formulier is gemaakt.

Kom je er niet uit, zet dan gerust een voorbeeldje neer met wat testdata, dan maken we wel een opzetje, waar je wat mee kan stoeien. Tenslotte is het wel zo plezant, als je er ook nog het een en ander van opsteekt!
 
Hey octafish,

dank je voor je uitleg en wonder boven wonder ... ik snap wat je me hebt uitgelegd :-) en das niet niks voor iemand die bijna niks weet van acces :D

Idd ik zal eerst een formulier dus moeten maken waar ik 1 van mijn gegevens uit de tabel selecteer en dat dan als rapport omzetten. Maar ... ;)

a) in mijn formulier wil ik bvb alle gegevens van persoon 5 (uit een tabel van 3000 personen) weergeven om vervolgens die in een rapport te zetten en later af te drukken. Hoe kan ik het eenvoudigst persoon 5 selecteren? Ik bedoel ... in de tabel staan 3000 personen die ik niet allemaal vanbuiten ken, kan ik dan gewoon op het formulier bij bvb "naam" zijn naam intypen en krijg ik dan alle gegevens? Want ik dacht dat als je in een formulier iets intypt er een nieuwe record in de tabel ontstaat en als je in reeds ingevulde "vakjes" op je formulier iets intypt .. deze record in de tabel gewijzigd wordt.

b) als ik -dankzij jouw antwoord ;)- puntje a kan toepassen en mijn formulier dus gemaakt is, hoe kan ik dat dan in een rapport krijgen? Want ik heb zo een lichtblauw vermoeden dat als het gewoon een formulier "converteren" is naar een rapport ... de layout mij TOTAAL niet zal aanstaan. Kan je mij wat meer vertellen of het mogelijk is om de layout van het rapport dan aan te passen? Zoals bvb een logo te plaatsen en zal de positie van al mijn gegevens in mijn formulier op dezelfde plaats blijven staan in mijn rapport?

En tot slot puntje c) :D
op mijn werk is er al een verouderde access databank aanwezig, maar ik moet het dus volledig vernieuwen (waarom ze de mensen dat niet laten doen die wel verstand hebben van acces maar soit ... zo leer ik bij :D) De databank bestaat uit een tabel en 2 subtabellen. Die worden dus ingevuld door formulier en subformulieren. Nu willen we bij het vernieuwen van de databank sommige velden niet meer gebruiken en andere velden nieuw bijplaatsen. Hoe kan ik al mijn gegevens overbrengen van de oude naar de nieuwe databank? Aangezien sommige velden er niet meer zijn. En die tabellen en subtabellen zijn dus gekoppeld via relaties en met zo autonummeringen als primaire sleutel. Ga ik geen problemen krijgen als ik alle gegevens naar de nieuwe tabel breng? Want aangezien sommige records verwijderd werden is de autonummering die dient als primaire sleutel niet meer opeenvolgend: bvb record 1, 2, 5, 9, ...Want als ik alle gegevens overbreng en ze zouden als primaire sleutel een autonummering krijgen dan krijgen ze dus in de nieuwe tabel dus een ander nummer dan dat ze in de oude hadden en bijgevolg zullen de subtabellen nietmeer kloppen aangezien daar hun autonummering van de hoofdtabel in de subtabel dus als referende sleutel dient. Pfff complex maar ik probeer het met een vb: In hooftabel heb ik een persoon met autonummering 5 en in subtabel staan zijn analyseresultaten dus bvb resultaat met autonummering 7 en 9 is gekoppeld in de subtabel met persoon nr 5. Ik hoop dat het enigsinds duidelijk is wat ik bedoel. Enig idee hoe ik al de gegevens van de oude naar de nieuwe databank breng?

Amaai ... het heeft mij hier ver een half uur geduurd om dit allemaal neer te pennen ... ik HOOP dat ge mij kunt helpen, lieve schat!!!

Dikke kusjes en help mij uit mijn lijden :love:
 
Om met de laatste vraag te beginnen: als je een nieuwe tabel maakt om met een schone lei te beginnen in het nieuwe systeem, en je wilt ook opnieuw gaan nummeren, dan kun je inderdaad niet de nummers uit de oude tabel gebruiken. Je kunt: ofwel de oude gegevens overhevelen van de oude, niet meer te gebruiken velden, naar de nieuw aangemaakte velden, als dat tenminste mogelijk is. Als je in het oude systeem één adresveld hebt, en in het nieuwe Straatnaam, Huisnr en HuisnrToevoeging apart opslaat, gaat dat niet werken. Dan is methode 2 noodzakelijk: een extra veld (numeriek) met bijv. de naam OudeSleutel, waarin je het oude sleutelveld opslaat. Als je in de oude db klantnrs 4, 6 en 8 niet meer hebt, dan wordt ID 5 dus in de nieuwe tabel 4, 7 wordt 5, 9 6, 10 7 etc.
Door de oude sleutelwaarde mee te nemen, kun je altijd met een query koppelen naar de oude gegevens. Geen probleem dus!

Vraag 1: Maak in de Koptekst van je formulier een keuzelijst met invoervak, die je gebruikt om records op te zoeken op basis van de tabel Klanten. Deze keuzelijst gebruik je alleen om te zoeken, je slaat de gevonden waarde verder niet op. Dit dus in tegenstelling tot een keuzelijst in de detailsectie die je koppelt aan een tabelveld, en die wèl wordt gebruikt om gegevens op te slaan, bijvoorbeeld bij een nieuw record.
Je kunt deze keuzelijst overigens alleen maken als je een tabel of opgeslagen query als basis gebruikt. Het is de derde optie in de wizard.

Vraag 2: een rapport moet je eigenlijk altijd los ontwerpen van een formulier. Dat is toch niet echt geschikt om af te drukken. Dus: een query maken met alle gegevens die je gebruikt, en dan met een wizard een basisrapport ontwerpen. Hierbij zijn vooral de verschillende groepeer opties die je tegenkomt belangrijk; de layout is waarschijnlijk door een paar blinde bavianen bij Microsof ontwikkeld, want die ziet er niet uit. Maar die kun je altijd met de hand nog aanpassen...
Kun je weer vooruit?
 
Octafish,

kheb nog altijd vragen voor mijn gegevens van de oude naar de nieuwe tabel over te brengen. Het mogelijke probleem van 1 veld voor het volledige adres naar meerdere velden voor het adres doet zich hier niet voor. Er zullen gewoon enkele velden niet worden overgenomen in de nieuwe tabel en er zullen ook enkele velden bijkomen waar gegevens in zullen worden geschreven die totaal niet in de oude tabel voorkwamen. Momenteel ziet de oude databank eruit als 1 hoofdtabel met autonummering, en 2 subtabellen die ook elk een autonummering hebben en die beiden ook een veld hebben waar de autonummering van de hoofdtabel in terug komt. De nieuwe databank zal er ongeveer ook zo uit zien: 1 hoofdtabel en enkele subtabellen die dus ook allemaal moeten gekoppeld worden met de hoofdtabel.

Kun je nog wat duidelijker omschrijven welke stappen ik moet doen om de gegevens van de oude naar de nieuwe te brengen? En is het mogelijk om op het einde van de rit een hoofd/sub-tabel te hebben ZONDER een veld met de oude autonummering in? Of zal dit altijd moeten aanwezig blijven?

Dikke kusjes alvast!!! :love:
 
Het stappenplan zou ik als volgt doen:

Stap 1 - Nieuwe tabel maken met de gewenste velden uit de oude tabel, een Autonummerveld met de naam [NieuweID] + de nieuwe tabel + een numeriek veld [OudeID] voor de verwijzing naar het Autonummerveld van de oude tabel. Maak hier eventueel een sleutelveld van.
Stap 2 - Met een toevoegquery alle velden uit de oude tabel toevoegen aan de nieuwe tabel.
Stap 3 - In de gekoppelde tabellen die gekoppeld zijn met de oude tabel een nieuw numeriek veld maken voor de verwijzing naar de nieuwe tabel.
Stap 4 - De gekoppelde tabellen koppelen aan de nieuwe tabel. Je koppelt de tabellen op basis van het Numerieke veld [OudeID].
Stap 5 - Met Bijwerkqueries het nieuwe veld in de gekoppelde tabellen bijwerken met het veld [NieuweID] uit de nieuwe tabel.
Stap 6 - Verplaats nu in de nieuwe tabel de sleutel van het veld [OudeID] naar het veld [NieuweID].
Stap 7 - Leg nu de relaties tussen de nieuwe tabel en de gekoppelde tabellen op basis van het veld [NieuweID].
Als je bij alle koppelingen een goede Referentiële integriteit hebt, is de bijwerkactie gelukt.
Stap 8: Als alles goed werkt, kun je het veld [OudeID] verwijderen. Zowel uit de hoofdtabel, als uit de gekoppelde tabellen.

Duidelijk genoeg zo?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan