raakvlakken register maken dmv aanvinken

Status
Niet open voor verdere reacties.

thorry

Gebruiker
Lid geworden
14 nov 2008
Berichten
40
Hallo via het bijgevoegd bestand en plaatje is het misschien iets duidelijker.

Ik probeer namelijk het volgende om vanuit een kruisjeslijst (formulier) aan te vinken welke raakvlakken in met de systemen (0 t/m 7) heb.

Als ik dan de vinkjes heb geplaatst probeer ik met een knop raakvlaknummers te maken, maar weet ff niet hoe je dat het makkelijkst kan doen?

als voorbeeld 0099 - Station heeft een vinkje bij "0" en als ik dan op de knop zou drukken wordt er een raakvlaknummer aangemaakt (automatisch nummering met RV er voor)
En dat dan het tabel met raakvlak wordt gevuld met RV-nr , Systeem, Object en omgevingObj1.

kan iemand mij hierbij helpen of uitleggen wat ik hier voor moet doen om dit te maken?
al vast bedankt

raakvlakken.png
 

Bijlagen

  • dbRaakvlakRegister_001.zip
    46,5 KB · Weergaven: 26
Laatst bewerkt:
Ik heb geen flauw idee wat je wilt bereiken, maar ik zie wel dat je db slecht genormaliseerd is. Heb je wel goed nagedacht over je tabellenstructuur?
 
Je hebt in ieder geval een functie nodig die je nieuwe nummers berekent, dus die heb ik alvast gemaakt. Ziet er zo uit:
Code:
Function RaakvlakNummer() As String
Dim strSQL As String, sWaarde As String, iWaarde As Integer

    strSQL = "SELECT DISTINCT TOP 1 RaakvlakNr FROM tblRaakvlak ORDER BY RaakvlakNr DESC"
    With CurrentDb.OpenRecordset(strSQL)
        If Not .BOF And Not .EOF Then sWaarde = !RaakvlakNr.Value
        .Close
    End With
    If sWaarde & "" = "" Then GoTo GeenNummer
    RaakvlakNummer = "RV-" & Right("0000" & CInt(Split(sWaarde, "-")(UBound(Split(sWaarde, "-"))), 4)) + 1
    Exit Function
    
GeenNummer:
    RaakvlakNummer = CStr("RV-" & "0001")

End Function
 
Laatst bewerkt:
Ik ben al een opzetje voor je aan het maken zoals ik het zou doen; ga nu even boodschappen doen, dus die zie je later.
 
Ik heb even een opzetje gemaakt; kijk maar eens of dit in de buurt komt. Ik heb je gedachtengang omgedraaid, want volgens mij moet je vanuit de andere tabel werken. En daar baseer je dan het formulier op, met een subformulier voor je subsystemen. Hij is nogal basaal ingericht, want je wilt a) voorkomen dat je hetzelfde subsysteem twee keer invoert, en b) wil je niet dat er meer dan zeven subsystemen worden ingevoerd, dus vanaf het zevende record moet de poort dichtgezet worden. Maar dat is allemaal ook prima te doen.
 

Bijlagen

  • dbRaakvlakRegister.zip
    83,9 KB · Weergaven: 34
Super dank je wel Octafish, zo had ik het nog niet gezien om het om te draaien super bedankt toppie.
 
Wat ik ook gedaan heb, of zou doen: alle velden die redundant zijn (dat zijn dus alle velden met dezelfde naam en een volgnummer) vervangen door een gekoppelde tabel waarin je die herhalende gegevens opslaat. Een mooie regel die ik onlangs las, en die heel goed aangeeft hoe je een database opbouwt, luidt: Tabellen vul je verticaal, niet horizontaal
Dus: maak nieuwe records aan, en zet er geen extra velden bij die hetzelfde doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan