返回列表 上一主題 發帖

[發問] VBA求救高手,將資料分割到指定TEXTBOX

本帖最後由 singo1232001 於 2023-7-20 22:26 編輯

回復 1# wsx1130


    Private Sub CommandButton1_Click()
   
    Dim cn As Object
    Set cn = CreateObject("ADODB.Connection")
    cn.ConnectionString = Target
    cn.Open
   
    Dim strSQL As String
    'strSQL = "SELECT DISTINCT 料號, 工令數量, 機器序號開始,備註 FROM WORK43600 WHERE 工令='" & TextBox1.Value & "'"
strSQL = "SELECT DISTINCT  *  FROM WORK43600 WHERE 工令='" & TextBox1.Value & "'"
由你的需求看來 感覺資料欄位非常多 就這樣做之後在調整就好 多抓一點沒差 速度很快  
若未來真的只有用這四欄資料 料號, 工令數量, 機器序號開始,備註  若真就只有這四個 就用你原本就好


Set rs = cn.execute(strSQL)
ar = rs.getrows
if isarray(ar)  then
'然後你在從ar陣列裡面一筆一筆對應放到textbox就好
'不要用rs的方式直接一筆一筆放到 textbox  會出現莫名其妙的錯誤 尤其是二次呼叫  
'因為rs的資料是用"物件指針"的所以你會看到 EOF 只能乖乖從頭到尾的順序 一次沒做好又要重來 對於不是完美格式資料 很容易誤判
'資料經過一次就會失去指針  這對於編寫關於SQL呼叫時的人 非常痛苦 所以先建議存到陣列 後續再處理

     Else
        MsgBox "找不到相應的工單!", vbExclamation, "錯誤"
    End If
   
    rs.Close
    Set rs = Nothing
   
    cn.Close
    Set cn = Nothing
   
   
End Sub

TOP

        靜思自在 : 【時間如鑽石】時間對一個有智慧的人而言,就如鑽石般珍貴;但對愚人來說,卻像是一把泥土,一點價值也沒有。
返回列表 上一主題