Overzicht op plattegrond

Status
Niet open voor verdere reacties.

mvdkooij

Gebruiker
Lid geworden
30 mrt 2007
Berichten
52
Hallo,

Ik heb wat hulp nodig bij het volgende. Graag wil ik data welke in Tabel1 is opgeslagen grafisch weergeven op een plattegrond (Formulier1). Het gaat hierbij om de status van een bepaalde locatie (zijn er +100) en deze moet dan in een bepaalde kleur worden weergeven op de locatie op de plattegrond.

Tabel1
ID
Locatie
Status

Mijn idee is om een afbeelding (de plattegrond) te plaatsen op Formulier1 en vervolgens allemaal textboxes te plaatsen (op de juiste locatie) met een Dlookup (dLookup(status;tabel1;locatie=locatie) functie verwijzend naar de betreffende locatie uit de Tabel1. Door middel van Conditional Format wil ik dan de textbox een bepaalde kleur meegeven afhankelijk van de status.

Op zich lukt dat, maar is dit de manier of is er een veel makkelijkere manier of hebben jullie andere ideeën?
Waarschijnlijk is Access niet het juiste programma hiervoor, maar ....
 
Waarschijnlijk is Access niet het juiste programma hiervoor, maar ....
Dat is één vraag waarvan je het antwoord goed hebt :).
Overigens kun je alles nemen wat je wilt: labels, knoppen, tekstvaken... Ik zou de records uitlezen in een recordset, en de overeenkomende objecten vullen. DLookup is zo'n beetje de sloomste variant die je kunt bedenken :)
 
Dank je wel Michel voor je reactie.

Kan je me op weg helpen met de code om de overeenkomende objecten te vullen? Ik ken die variant niet zoals jij aangeeft!
Ik ken uiteraard wel de recordset, maar hoe verwijs je dan van een record naar de tekstbox?
 
Je hebt dus een tabel met alle locaties, en (neem ik aan) een herkanbare naam. Op je formulier maak je knoppen of labels (ik zou knoppen maken) met dezelfde naam, en wellicht het voorvoegsel but. Of wat je maar wilt natuurlijk. Je opent dan bij het laden van het formulier de recordset (tabel dus) en leeft elk record uit. En in die lus vul je de knoppen afhankelijk van wat je wilt zien. Een knop die geen locatie heeft verberg je. Heb je ook een code die de kleur bepaalt, dan gebruik je die om de knoppen een kleur te geven.
 
Hi Michel,

Ik heb nu onderstaande maar loop nog tegen een probleem op.
Het kan namelijk zijn dat in de database een locatie (VOP) staat die niet op het formulier als control staat.

Het systeem moet dus checken of Me(rs!vop).Name bestaat en zo niet deze overslaan. Nu slaat hij het niet over maar stopt als dit zo is.

Hoe moet ik dat doen?

Code:
Private Sub Form_Open(Cancel As Integer)

Dim strClient As String
Dim rs As dao.Recordset
Dim fld As dao.Field

On Error GoTo Err_Send_bestilling_Click

Set dbs_Current = CurrentDb()

strClient = "SELECT * FROM qry_VOP_actie"

Set rs = dbs_Current.OpenRecordset(strClient)
  DoCmd.SetWarnings False

            'Actie om
            Do While Not rs.EOF

                        If rs![vop] = Me(rs!vop).Name Then
                             Me(rs!vop).Value = rs![Laatstevanactie]
                                        If rs![Laatstevanactie] = "Rood" Then Me(rs!vop).BackColor = vbRed
                                        If rs![Laatstevanactie] = "Oranje" Then Me(rs!vop).BackColor = vbRed
                                        If rs![Laatstevanactie] = "Geel" Then Me(rs!vop).BackColor = vbYellow
                                        If rs![Laatstevanactie] = "Groen" Then Me(rs!vop).BackColor = vbGreen
                
                           End If
                    rs.MoveNext
                    
            Loop
 
                rs.Close

Exit_Send_bestilling_Click:
    Exit Sub
Err_Send_bestilling_Click:
    Select Case Err.Number
  Case 2465
   'wat er moet gebeuren
  Case Else
   MsgBox "Error " & Err.Number & " " & Err.Description
    Resume Exit_Send_bestilling_Click
 End Select
    
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan