Можно ли sql запросу передать имя поля в виде переменной? - VB

Узнай цену своей работы

Формулировка задачи:

В следующем коде, если заменить '' & frmFind.kriter & '' на имя поля - все ОК. (переменная объявлена через Public в этой же форме) HELP!!!!
Листинг программы
  1. Private Sub optFind_Click(Index As Integer)
  2. Select Case Index
  3. Case 0
  4. kriter = 'naznachenPlateza'
  5. Case 1
  6. kriter = 'polucatName'
  7. End Select
  8. End Sub
  9. Private Sub findrecord()
  10. Dim FindSQL As String
  11. FindSQL = 'SELECT * FROM tblMain WHERE '' & frmFind.kriter & '' LIKE '' & txtFind.Text & '' ORDER BY [id]'
  12. Dim dbFind As ADODB.Connection
  13. Set dbFind = New ADODB.Connection
  14. dbFind.CursorLocation = adUseClient
  15. dbFind.Open 'PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=d:dbmos.mdb;'
  16. Dim rsFind As New ADODB.Recordset
  17. Set rsFind = New ADODB.Recordset
  18. rsFind.Open FindSQL, dbFind, adOpenStatic, adLockOptimistic
  19. Dim oTextVid As TextBox
  20. For Each oTextVid In Me.txtFields
  21. Set oTextVid.DataSource = rsFind
  22. Next

Решение задачи: «Можно ли sql запросу передать имя поля в виде переменной?»

textual
Листинг программы
  1. Private Sub optFind_Click(Index As Integer)
  2.   Select Case Index    
  3.     Case 0      
  4.       kriter = 'naznachenPlateza'    
  5.    Case 1
  6.       kriter = 'polucatName'  
  7.  End Select
  8. End Sub
  9. Private Sub findrecord()
  10. Dim FindSQL As String  
  11.   FindSQL = 'SELECT * FROM tblMain WHERE ' & frmFind.kriter & _
  12.             ' LIKE '' & txtFind.Text & '' ORDER BY [id]'
  13. 'Your code

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут