hulp gevraagd bij database

Status
Niet open voor verdere reacties.

shidan

Gebruiker
Lid geworden
8 jan 2007
Berichten
354
beste,

ik moet een db maken.
momenteel werk ik enkel met 2 tabellen (landen en gemeenten)

1. als ik het formulier landen_beheren open wil ik blanco velden zien en ernaast een lijstje met alle reeds gekende landen.

2. als ik het formulier beheer_gemeenten open wil ik eveneens blanco velden zien.
als ik daar een land aanklik wil ik zien welke gemeenten reeds bestaan bij dat land.

3. als ik een nieuw land of nieuwe gemeente invul zou deze onmiddelijk in de lijst moeten verschijnen.

4. kunnen records worden bijgevuld d.m.v. een button of moet ik de navigatieknoppen onderaan gebruiken?


kan iemand mij helpen bij dit probleem?

alvast met dank


Bekijk bijlage db_2010 - C.zip
 
ik snap niet helemaal wat je bedoelt; als je het formulier Landen_Beheren opent, wil je toch de landen zien die je al hebt? Anders valt er weinig te beheren, lijkt mij.... Je kunt het formulier wel opstarten met een leeg scherm, maar dan zet moet je de modus <Gegevensinvoer> op <Ja> zettten. Dan start je met een leeg formulier. In mijn ogen is het formulier dan niet meer geschikt om records te beheren, want je ziet de overige landen niet. Het formulier wordt dan een formulier om records toe te voegen. Ergo: de naam klopt niet meer!
Je kunt de bestaande landen wel zichtbaar maken met een Keuzelijst; die baseer je dan op de tabel Landen. Met de juiste opmaak (twee kolommen) zie je dan welke landen er al in staan.
De lijst met gemeentes is afhankelijk van het gekozen land, en dat doe ik meestal met een variabele query die ik dan toeken bij het kiezen van een land. Kijk maar eens in bijgaand voorbeel.
 

Bijlagen

beste,
.
alvast met dank,
dat is idd wat ik zocht

kunnen records worden bijgevuld d.m.v. een button of moet ik de navigatieknoppen onderaan gebruiken?
kan ik ook gegevens van bvb gemeenten of landen aanpassen door bvb te dubbelklikken in het lijstje?
(zodat deze dan kunnen worden bewerkt?)

alvast met dan
 
je kunt met de wizard eigen knoppen maken, voor de navigatiebuttons, Opslaan, Nieuw record etc. Als je alle knoppen aanmaakt, kan je de interne Navigatiebalk uitzetten, want die heb je dan niet meer nodig. Alleen zie je dan niet mee hoeveel records er zijn in de tabel/query. Dat kun je overigens ook zelf maken...
Je kunt van alles verzinnen en maken. Dus ook dat je met een dubbelklik op de lijst het record kan bewerken.
 
Als je deze code op de gebeurtenis <Bij dubbelklikken> zet van de keuzelijst <lstGemeente> dan kun je hiermee naar het record van die gemeente springen:

Code:
Private Sub lstGemeente_DblClick(Cancel As Integer)
Dim rst As Recordset

    Me.Form.DataEntry = False
    Set rst = Me.RecordsetClone
    rst.FindFirst "[Gemeente_ID] = " & Me.lstGemeente
        If rst.NoMatch Then
            MsgBox "Record niet gevonden..."
        Else
            Me.Bookmark = rst.Bookmark
        End If
    rst.Close
End Sub
 
thnx voor de hulp.
hiermee kan ik verder werken.

fijn weekend nog
 
beste,
ik heb nog een vraag.
hopelijk weet je ook hier een antwoord op.

ik wil door middel van een knop de records toevoegen aan de database.
de knop aanmaken is geen probleem.
maar welke code steek ik erachter?

1. het record moet worden opgeslagen.
2. de lijst met records moet worden bijgewerkt.
3. de invulvelden moeten worden leeggemaakt.

is dat mogelijk?

alvast met dank
 
Ik heb de db even niet voor ogen, maar normaal gesproken heb je het formulier gebaseerd op een tabel. En dan is je record al opgeslagen, zodra je naar een ander record gaat. Dat is ook de meest gangbare manier van werken: een formulier op basis van een tabel. De invulvelden leegmaken is in dat geval ook geen optie, want daarmee maak je dus een record leeg. Een leeg record heb je ook alleen nodig als je een nieuw record aanmaakt, en daar heb je weer een aparte knop voor...
 
Beste,

ik heb nog enkele problemen met een nieuwe database.
(ik heb deze bijgevoegd)

als ik het formulier frm_personen_beheren open heb ik onderaan een button 'Contacten beheren' aangemaakt.
via deze button wil ik contacten (contactmiddel + data) aanmaken.
een voorbeeldformulier staat in frm_contacten_beheren.

deze contacten moeten worden gekoppeld aan een persoon
(bvb een gsm nummer is enkel voor één persoon)

wie kan mij helpen met dit probleem?
ik heb reeds diverse pogingen ondernomen, maar zonder succes.

concreet:
door te drukken op de button 'Contacten beheren' wil ik een formulier waarin ik een nieuw contact kan aanmaken.
in dit formulier moet een button 'toevoegen' komen.
na indrukken van deze button moet het nieuwe contact worden toegevoegd en zal worden teruggegaan naar frm_personen_beheren.
in de frm_personen_beheren moet eveneens een lijstje te zijn zijn met de reeds ingevoerde contacten.

later kan ik deze structuur dan overnemen om bvb betalingen bij te voegen.

alvast met dank,

shidan

Bekijk bijlage db_2010.rar
 
Ik zal er even naar kijken. Eerst een algemene tip: je relaties in de db zijn (consequent, dat wel :) ) waardeloos. Als je een koppeling maakt tussen twee tabellen, zorg er dan voor dat je <Referentiële Integriteit afdwingen> aan vinkt, en dat de relatie dan is op te slaan. Zo niet, dan deugt er iets niet. Een simpel voorbeeldje: in de tabel Persoon probeer je het veld Postcode uit Gemeente te koppelen aan Postcode in Persoon. Dat lukt misschien nog voor een klein dorp met één postcode, maar bij een stad als Rotterdam kom je toch echt in de problemen. Bovendien kun je alleen koppelen op basis van een sleutelveld, in in de tabel Gemeente is dat (niet geheel onlogisch) het veld GemeenteID. Dus in de persoon koppel je het veld gemeenteID met het veld GemeentID uit de tabel Gemeente... Logisch toch? Niet in jouw db, want je hebt daar alleen maar een veld Postcode! Je voelt hopelijk al waar ik heen wil...
 
Ik heb al wat lopen stoeien met je db... Om te beginnen heb ik, zoals ik hierboven al heb uitgelegd, de relaties aangepast, zodat ze weer kloppen. Je vraag heb ik wat anders opgelost als je gevraagd had, maar dat is omdat ik denk dat mijn methode een stuk fraaier is.

1. Door te drukken op de button 'Contacten beheren' wil ik een formulier waarin ik een nieuw contact kan aanmaken.
2. In dit formulier moet een button 'toevoegen' komen.
3. Na indrukken van deze button moet het nieuwe contact worden toegevoegd en zal worden teruggegaan naar frm_personen_beheren.
4. In de frm_personen_beheren moet eveneens een lijstje te zijn zijn met de reeds ingevoerde contacten.

Om met punt 4 te beginnen: ik heb een keuzelijst op het formulier gezet die de contacten laat zien die nog niet zijn ingevoerd. De reden daarvoor is simpel: via een subformulier, dat is gebaseerd op de tabel tbl_contacten, zie je welke contacten er zijn bij een persoon. En dat is ook een normale manier van werken: een tabel die is gekoppeld aan een hoofdtabel, laat je als subformulier zien op het hoofdformulier (dat weer op de hoofdtabel is gebaseerd). Je had voor het hoofdformulier een query gemaakt; die is er weer af: het formulier is nu gebaseerd op de tabel tbl_personen.
Ad 1. De knop [Contacten beheren] heeft nu twee functies: het activeren van de keuzelijst, en het opslaan van de gekozen contacten. De keuzelijst met contacten is in eerste instantie bij het openen van een record uitgeschakeld. Je kunt dus niet per abuis iets doen met de keuzelijst: die moet eerst geactiveerd worden met de knop [Contacten beheren]. Heb je die aangeklikt, dan verandert de knop in [Contacten opslaan]. En komen we bij punt 3: nu kun je contacten selecteren. Klik je vervolgens op [Contacten opslaan], dan worden de contacten toegevoegd aan de tabel tbl_contacten, en wordt het subformulier dus ingevuld en bijgewerkt. Tegelijkertijd wordt de functie van de knop weer omgezet, en de keuzelijst uitgeschakeld.
Ad 2. Deze knop heb je dus niet meer nodig.

Extra functionaliteit: behalve contacten toevoegen, zal het ook wel eens voorkomen dat je een contact wilt verwijderen bij een persoon. Dat kan ook: als je dubbelklikt op een subrecord, dan wordt dat verwijdert en toegevoegd aan de keuzelijst. In totaal zie je dus in het subformulier + de keuzelijst alle beschikbare + gebruikte contacten. Volgens mij moet je hier wel wat mee kunnen...
 

Bijlagen

hartelijk dank voor de hulp.
ik zal de veranderingen bekijken en kan dan verder werken.

prettig weekend nog.

shidan
 
Beste,

het ziet er allemaal heel mooi uit, maar ik kan geen data koppelen aan de contacten.
ik kan bvb een gsm selecteren maar kan het nummer niet ingeven?

doe ik iets verkeerd, of werd dat over het hoofd gezien?

alvast met dank
 
Ik was iets te enthousiast met de knop om records terug te zetten :) Dat terugzetten gebeurt met een onzichtbare knop, die over de tekstvakken heen valt. Terwijl je denkt dat je in een tekstvak klikt, klik je dus eigenlijk op een knop, die verder niks doet, behalve als je dubbelklikt. In deze variant heb ik de knop kleiner gemaakt, zodat Data veld vrij blijft. En ingevuld kan worden...
 

Bijlagen

met dank,

ik zal het even bestuderen hoe je dit deed.

thnx,

shidan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan