Вставить данные по партии? - PullRequest
1 голос
/ 02 мая 2011

Мне нужен код, где пользователь (после вставки данных в таблицу данных), когда он нажимает кнопку, данные будут вставлены в таблицу (я думал об использовании здесь оператора SQL).Кроме того, одно из полей в этой таблице должно быть рассчитано с использованием функции DCount.Поэтому мне нужно рассчитать это для каждой записи.Дайте мне знать, если идея не ясна, и мне нужно объяснить дальше.Кроме того, если есть идеи получше, расскажите.Спасибо!

1 Ответ

0 голосов
/ 06 мая 2011

Почему бы не создать VBA для извлечения данных из электронной таблицы, вставить их в таблицу, а затем снова закрыть Excel. Все одним нажатием кнопки

Посмотрите на пример ниже

Dim objApp As Excel.Application
Dim objBook As Excel.Workbook
Dim objSheet As Excel.Worksheet
Dim sSQL As String
Dim Path As String

Set db = CurrentDb()

 Set objBook = Workbooks.Add(Template:=SheetLocation)   'Your excel spreadsheet file goes here where "SheetLocation is typed
            Set objApp = objBook.Parent
                Set objSheet = objBook.Worksheets("Sheet1") 'Name of sheet you want to View
                   objBook.Windows(1).Visible = True
                   objApp.Visible = True

            objApp.DisplayAlerts = False




    Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Set cn = CurrentProject.Connection

' open a recordset
Set rs = New ADODB.Recordset
rs.Open "INSERT YOUR TABLE NAME HERE", cn, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) > 0
' repeat until first empty cell in column A
    With rs
        .AddNew ' create a new record
        ' add values to each field in the record
        .Fields("INSERT THE TABLE FIELD TO DUMP DATA IN HERE") = Range("A" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("B" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("C" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("D" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("E" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("F" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("G" & r).Value
        .Fields("REPEAT AS ABOVE") = Range("H" & r).Value
        ' add more fields if necessary...
        .Update ' stores the new record
    End With
    r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
    objApp.Quit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...