Felder aublenden wenn bestimmter wert in der Tabelle ....

AoHNewBee

Grünschnabel
Hallo alle zusammen,

ich habe jetzt schon versucht für mein Problem eine lösung im netz zu finden bisher ohne erfolg!
Und zwar ich möchte gern das ich Felder ausblenden wenn in meiner Tabelle der Wert in der Spalte (Value) der wert False eingetragen ist ausgeblendet wird ( tabellenaufbau: Token (steht immer das selbe drin ), Resource (dort sind die "feldbezeichnungen" hinterlegt) , Properity ( Steht entweder Visible oder Cpation drin), Clause ( ist hierfür nicht wichtig), Value ( dort wird hinterlegt ob das feld angezeigt wird oder nicht z.b. lblSprache Visible True))
Es soll sozusagen eine Vorschau erstellen da es ein tool ist mit dem man in einem anderem Programm bestimmte felder ausblenden kann und in dem tool so halt zur USerfreundlichkeit eine Vorschau enthalten sein soll allerdings habe ich kein plan wie ich das realisieren soll! ICh denke das geht mit einer if abfrage die den Wert aus der Spalte Value ausliest und dann die entsprechende änderung an dem Feld im formular vornimmt !
 
1. Lädst du dir deine Tabelle in ein recordset
2. Läuftst du durch dein recordset durch
z.b. While not rs eof
wend
3. in der Schleife suchst du dir dein entsprechendes Control über For each control in Form1.controls
4. wenn der name deines Controls übereinstimmt dann setzt du die eigenschaft auf control.visible =rs!value

Du kannst allerdings und das ist mit der ado auf jeden fall schneller auch die Filtereigenschaft benutzen (Dann in einer Schleife über die Controls)

oder für jedes control ein Recordset öffnen -> nicht so gut wegen performance

Gruß bb
 
Versuchs mal damit!
Code:
  Sub BoxVisibl()
  	 Dim ctl as Control
  
  	 For each ctl in Form.Controls
  		  'prüft ob das Steuerelement eine Textbox ist
  		  If ctl.ControlType = 109 then
  			   If ctl.value = "False" then ctl.visible = false
  		  End If
  	 Next ctl
  End Sub
 
Nachtrag : mein code mit dem ich im moment auf die datensätze zugreife bei denen ein False Hinterlegt ist sieht so aus
Code:
Private Sub Vorschau_Click()
 
    Dim sqry As String
    Dim rs As ADODB.Recordset

   
    ' Werte mit False ermitteln
    sqry = " SELECT dbo_DDGPreferences.Resource dbo_DDGPreferences.Value FROM dbo_DDGPreferences WHERE dbo_DDGPreferences.Value='false'"
   
    Set rs = goMandant.oData.rsOpenRecordset(sqry)



allerdings weiss ich un nicht weiter ich müsste ja nun den Felder bei dennen False Hinterlegt ist eine andere Farbe zuordnen oder Sie direkt auf Visible = False setzen
 
Zurück