Excel & ADO

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Excel & ADO

Сообщение lord0n » 26.08.2005 (Пт) 13:18

Код: Выделить всё

db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & lblDispTab.Caption & ";Mode=Read;Extended Properties=""Excel 8.0;HDR=No;IMEX=1"""

Set RS = New Recordset
RS.Open "select f1, f2, f8, f13, f16 from [Приход$a4:y65536] where f1 between #" & nd & "# and #" & kd & "# and f16 = '" & lstKlad.List(x) & "' order by f1 asc", db, adOpenStatic, adLockOptimistic


не пойму к чем дело: если книга, которую я открываю, открыта другим пользователем то открытие рекордсета длится около минуты, а потом выдает ошибку.
если книга закрыта - моментально и без ошибок

вроде файл открываю только для чтения :roll:
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.08.2005 (Пт) 13:23

Код: Выделить всё
db.Mode=adModeRead
...
set rs.ActiveConnection=db
rs.open SQL, db, adOpenStatic, adLockReadOnly,adCmdText
...

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 26.08.2005 (Пт) 13:24

Ты-то, может, и только для чтения открываешь, а ты уверен, что первый пользователь эксклюзивный режим не выставляет?

Далее, adOpenStatic, adLockOptimistic - это не тру. Тру - это adOpenForwardOnly, adLockReadOnly.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.08.2005 (Пт) 13:25

сорри, кое-что забыл выкинуть:


Код: Выделить всё
db.Mode=adModeRead
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & lblDispTab.Caption & ";Mode=Read;Extended Properties=""Excel 8.0;HDR=No;IMEX=1"""

SQL="select f1, f2, f8, f13, f16 from [Приход$a4:y65536] where f1 between #" & nd & "# and #" & kd & "# and f16 = '" & lstKlad.List(x) & "' order by f1 asc"

Set RS = New Recordset
set rs.ActiveConnection=db
rs.open SQL, , adOpenStatic, adLockReadOnly,adCmdText
...

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.08.2005 (Пт) 13:28

и проверь, что тебе ennor советует:
что первый пользователь эксклюзивный режим не выставляет?

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 26.08.2005 (Пт) 13:28

Ennor писал(а):Ты-то, может, и только для чтения открываешь, а ты уверен, что первый пользователь эксклюзивный режим не выставляет?

Далее, adOpenStatic, adLockOptimistic - это не тру. Тру - это adOpenForwardOnly, adLockReadOnly.


не уверен, первый пользователь это простой оператор открывающий таблицу в Excel и заполняющий её в ручную

а как эксель открывает файл я незнаю
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.08.2005 (Пт) 13:34

если галочку случайно на Эксклюзивный доступ не поставили, то должен открывать как обычно, правда, я не помню как там в старых офисах это дело было

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 26.08.2005 (Пт) 13:50

офис вроде новый + этот файл можно еще раз в экселе открыть, правда только для чтения (или уведомить пользователя)
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 26.08.2005 (Пт) 13:59

так в чем проблема то?

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 26.08.2005 (Пт) 14:03

да вот благодаля вам проблемы уже нет, а до этого была :lol:
ОГРОМНОЕ СПАСИБО
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 73

    TopList  
cron