Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / OpenConnection / 9 сообщений из 9, страница 1 из 1
22.07.2004, 13:24:20
    #32616819
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
Люди подскажите как правильно? Ругается Type mismatch на OpenConnection. Я понимаю, что написал не правильно, а как надо не знаю из кусков код собирал.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Sub Макрос1()
'
Dim MyODBC As Workspace
Dim MyConn As Connection
Dim All_String As Variant
Dim Name_String As Variant
Dim Sql_String As String
Dim TestTable As Recordset
Dim sht As Worksheet
Dim Wkb As Excel.Workbook

a = Format(Range("F2"), "mm/dd/yyyy")
b = Format(Range("H2"), "mm/dd/yyyy")

Const Conn_Str As String = "ODBC;DSN=База данных MS Access;DBQ=C:\Work\База\0030.mdb;DefaultDir=C:\Work\База;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTi"

Set MyODBC = CreateWorkspace("", "admin", "", dbUseODBC)
Set MyConn = MyODBC.OpenConnection("", , , Conn_Str)
 Sql_String = "SELECT Экспорт_Группы.Группа, Экспорт_Группы.Дата, Экспорт_Группы.[Sum-Продано_кг]" & _
        " FROM Экспорт_Группы" & _
        " WHERE (((Экспорт_Группы.Дата) Between #" & a & "# And #" & b & "#))"
    
    Set TestTable = MyConn.OpenRecordset(Sql_String, dbOpenDynaset,  0 , dbPessimistic)
    
Set sht = Wkb.Sheets(Лист1)
TestTable.MoveFirst
sht.Range("B1").CopyFromRecordset TestTable

 TestTable.Close
 MyConn.Close
 MyODBC.Close

End Sub
...
Рейтинг: 0 / 0
22.07.2004, 15:01:34
    #32617081
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
Dim MyConn As DAO.Connection
Dim TestTable As DAO.Recordset
...
Рейтинг: 0 / 0
22.07.2004, 15:30:45
    #32617165
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
странный код - он запускается под Access или под Excel ?
...
Рейтинг: 0 / 0
22.07.2004, 15:54:47
    #32617242
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
Shuhardстранный код - он запускается под Access или под Excel ?
такие вещи обычно происходят, когда толком не знаешь как сделать то, что тебе нужно. Решение нашел и очень простое.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Sub Макрос2()

    Dim dbAccess As Database
    Dim TestTable As DAO.Recordset
    Dim Sql_String As String
    Dim a, b As Date

    On Error GoTo ErrorsDB
 
    a = Range("F2").Value
    b = Range("H2").Value

    
    Set dbAccess = OpenDatabase("C:\Work\База\0030.mdb")
    Sql_String = "SELECT Экспорт_Группы.Группа, Экспорт_Группы.Дата, Экспорт_Группы.[Sum-Продано_кг]" & _
        " FROM Экспорт_Группы" & _
        " WHERE (((Экспорт_Группы.Дата) Between " & a & " And " & b & "))"
    Set TestTable = dbAccess.OpenRecordset(Sql_String)
    
    If (TestTable.RecordCount >  0 ) Then
    Range("A2").CopyFromRecordset TestTable
    Else: MsgBox "Not Found"
    End If
 
    TestTable.Close
    dbAccess.Close
    GoTo Ends
    
ErrorsDB:
    MsgBox "Произошла ошибка"
Ends:

End Sub
Только вот дата зараза ругается. Ищу причину
...
Рейтинг: 0 / 0
22.07.2004, 16:00:02
    #32617261
stag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
NikP" WHERE (((Экспорт_Группы.Дата) Between " & a & " And " & b & "))"


" WHERE (((Экспорт_Группы.Дата) Between " & CLng(a) & " And " & CLng(b) & "))"
или
" WHERE (((Экспорт_Группы.Дата) Between #" & a & "# And #" & b & "#))"
...
Рейтинг: 0 / 0
22.07.2004, 16:10:02
    #32617293
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
...
Рейтинг: 0 / 0
22.07.2004, 16:11:05
    #32617295
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
[quot stag" WHERE (((Экспорт_Группы.Дата) Between " & CLng(a) & " And " & CLng(b) & "))"
[/quot]
Спасибо большое. Все работает. А я парился по принципу второго примера и думал: "Ну что за фигня такая????"
...
Рейтинг: 0 / 0
22.07.2004, 16:12:17
    #32617300
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
Шутка. Беру свои слова обратно. Наврал :)
...
Рейтинг: 0 / 0
22.07.2004, 16:13:04
    #32617301
NikP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
OpenConnection
Geo2stag
http://www.sql.ru/faq/faq_topic.aspx?fid=157

А эту ссылку я уже очень хорошо знаю
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / OpenConnection / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]