Как запустить запрос на вставку на VB 6.0? - PullRequest
0 голосов
/ 27 мая 2020

Я новичок в Visual Basi c 6.0, и я не знаю, как кодировать SQL запросы, особенно Insert Into

У меня есть 1 база данных с 2 таблицами (tblNames, tblRemarks). .

в tblNames поля:

ID, LastName, FirstName, MidName, DateHired, Position, Department

в tblRemarks поля:

ID, FullName, txtDate, Remarks, DateHired, Position

То, что я делаю, выглядит примерно так:

SQL =  "SELECT ID, LastName, FirstName, MidName, DateHired, Position FROM tblNames"
SQL2 = "SELECT * fROM tblRemarks"

, а затем в моей форме есть DTPicker1 и Command1

Я хочу получить все записи в tblNames и поместить их в tblRemarks, но также получить дату от DTPicker1 и в полях примечаний слово «ПРАЗДНИК».

Я делаю вот так: om my Module У меня есть этот код:

Option Explicit
Public conn As New ADODB.Connection
Public RS As New ADODB.Recordset
Public cmd As New ADODB.Command
Public SQL As String
Public SQL2 As String

Public Sub connectDB()
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & "\Database.accdb;User ID=admin;Persist Security Info=False;JET OLEDB:Database Password=qqqq"
conn.Open

With RS
    .ActiveConnection = conn
    .Open SQL, conn, 3, 3

End With
End Sub

Public Sub connOpen()
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & "\Database.accdb;User ID=admin;Persist Security Info=False;JET OLEDB:Database Password=qqqq"
conn.Open

With cmd
    .ActiveConnection = conn
    .CommandType = adCmdText
    .CommandText = SQL
    Set RS = .Execute
End With
End Sub

Тогда я просто назовите это в моих формах

моя проблема в том, что у меня есть 2 SQL запросов, как я могу подключить эти 2 SQL в моем соединении? Я исследовал его и обнаружил, что могу выполнить 1 ЗАПРОС с помощью INSERT.

Я пробовал, но не могу заставить его работать. Как я могу этого добиться? Я очень новичок в VB6. Было бы так?

SQL = "INSERT ID, LastName, FirstName, MidName, DateHired, Position FROM tblNames" _
& "INTO tblRemarks, #" & DatePick & "# as txtDate, 'HOLIDAY' as Remarks"

1 Ответ

0 голосов
/ 27 мая 2020

Полностью не проверено, но, возможно, вы можете попробовать следующее:

    conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & "\Database.accdb;User ID=admin;Persist Security Info=False;JET OLEDB:Database Password=qqqq"
    conn.Open

    SQL = "INSERT INTO tblRemarks " & _
          "(FullName, txtDate, Remarks, DateHired, Position) " & _
          "SELECT CONCAT_WS(' ', FirstName, MidName, LastName), ?, 'HOLIDAY', DateHired, Position " & _
          "FROM tblNames"

    With cmd
        .ActiveConnection = conn
        .CommandType = adCmdText
        .CommandText = SQL

        .Parameters.Append .CreateParameter(, adVarWChar, adParamInput, 100, DatePick)
        .Execute
    End With


Замените 100 шириной вашего txtDate столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...