2016-04-23 13 views
0

Ist es möglich, einen Text mit dem Namen eines Feldes in einer Tabelle zu vergleichen?Text mit Tabellenfeldname vergleichen

Beispiel: Ich habe eine Tabelle mit Feldern (p300, p600, P1200, P1800 usw.), diese Felder sind vom Typ Wahr oder Falsch, und meine Anwendung wird ein Parameter, der ein Text sein wird (p300, p600, P1200, P1800 usw.) mussten dann nur die Werte zurückgeben, bei denen das Feld wahr ist, aber zuerst benötigt, um zu vergleichen, welches Feld ich überprüfen werde.

Sagen Sie, mein Parameter ist p600, müsste dann die p600 Spalte verifizieren, jedoch habe ich mehrere Lautsprecher gefragt, ob er irgendwie zuerst die Säule gefunden habe, um dann zu überprüfen, ob der Wert dieser Spalte wahr oder falsch ist.

Ich dachte an etwas wie diese, UtilizaVariavelGlobal ('Plano') ist meine Variable, die den gleichen Namen wie das Tabellenfeld hat.

Select * from Table Where Table.UtilizaVariavelGlobal (' Plano') = True 

Anstelle von p600 möchte eine Variable verwenden, die den gleichen Namen des Feldes hat? Vielen Dank!

DB_Test

Antwort

1

In SQL Sie eine Zeichenfolge verketten:

FieldName = "P600" 

SQL = "Select * From YourTable Where [" & FieldName & "] = True" 

oder mit einer Funktion:

SQL = "Select * From YourTable Where [" & UtilizaVariavelGlobal("Plano") & "] = True" 

Mit einem Cord-Set ist es einfach zu:

Criteria = FieldName & " = True" 
rst.FindFirst Criteria 

Auch DLookup:

FoundId = DLookup("ID", "YourTable", "" & FieldName & " = True") 
+0

Es funktionierte nicht, dass die Art und Weise, [“& Field & "] = True", der Name des Feldes wird aus Variable UtilizaVariavelGlobal ('Plano'). @Gustav https://onedrive.live.com/redir?resid=1CBDD42318B88DB7!8611&authkey=!ALSeuyl81SNWero&heint=file%2czip –

+0

Nun, dann ersetzen Sie einfach mit Ihrer Funktion. Siehe Bearbeiten. – Gustav

+0

das habe ich versucht! [Erro] (http://prnt.sc/aw97bg). –