Вызов набора записей на основе значения текстового поля - PullRequest
0 голосов
/ 15 апреля 2019

Мне нужно вызвать группу записей, хранящихся в базе данных MS Access.Пока мне удалось отобразить все записи, но мне нужно отобразить конкретные записи на основе номера фолио, который хранится в текстовом поле формы пользователя.

Я пытался изменить кратное число WHERE Folio = me.tbFolio.Valueраз, но я просто не могу сделать это правильно, он продолжает показывать все наборы записей в базе данных.

Private Sub Srch_Click()
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long, sSQL As String, Fl As Long
    Let Fl = tbFolio.Value - 1
    Set cn = New ADODB.Connection
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=S:\Common\Quality\RASTREABILIDAD\MAIN PROJECT\PROYECTO KOREANO MX.accdb;"
    Set rs = New ADODB.Recordset
    rs.Open "Trazabilidad", cn, adOpenStatic, adLockReadOnly, adCmdTable
    sSQL = "SELECT [Folio], [N° de Orden, Fecha], [N° de Parte, Materiales], [N° de Parte Material], [N° de Lote/Fecha de Proucción], [Quién Capturo]" & _
        "FROM Trazabilidad" & _
        "WHERE Folio = me.tbfolio.value;"
    MsgBox rs.GetString, vbOKOnly, "Trazabilidad"
    cn.Close
    Set cn = Nothing
End Sub

1 Ответ

0 голосов
/ 15 апреля 2019

Вы должны попытаться объединить (используя &) значение из текстового поля, чтобы поместить это значение в ваш запрос

  Private Sub Srch_Click()
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long, sSQL As String, Fl As Long
    Let Fl = tbFolio.Value - 1
        Set cn = New ADODB.Connection
        cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
            "Data Source=S:\Common\Quality\RASTREABILIDAD\MAIN PROJECT\PROYECTO KOREANO MX.accdb;"
        Set rs = New ADODB.Recordset
        rs.Open "Trazabilidad", cn, adOpenStatic, adLockReadOnly, adCmdTable
        sSQL = "SELECT [Folio], [N° de Orden, Fecha], [N° de Parte, Materiales], [N° de Parte Material], [N° de Lote/Fecha de Proucción], [Quién Capturo]" & _
            "FROM Trazabilidad" & _
            "WHERE Folio = " &  me.tbfolio.value
        MsgBox rs.GetString, vbOKOnly, "Trazabilidad"
        cn.Close
        Set cn = Nothing
    End Sub

, если это изменение строки

"WHERE Folio = " &  me.tbfolio.value 

для

"WHERE Folio = '" &  me.tbfolio.value & "'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...