Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обработка в 1С через DAO / 18 сообщений из 18, страница 1 из 1
19.10.2004, 15:02:52
    #32744565
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
dbe=CreateObject("DAO.DBEngine.36");
wksp=dbe.Workspaces(0);
db=wksp.OpenDataBase(СокрЛП(ИмяБД));
//******************************
Имя = СокрЛП(СЗТаблицы.ПолучитьЗначение(СЗТаблицы.ТекущаяСтрока()));
Табл = СокрЛП(СЗПоле.ПолучитьЗначение(СзПоле.ТекущаяСтрока()));
tbldef = db.TableDefs(Имя);
fld = tbldef.Fields();
rs = db.OpenRecordset("UPDATE " + Имя + " Set " + Табл + " = Replace(PTNRDRU," + Симв(34) + " " + Симв(34) + ",

" + Симв(34) +Симв(34)+ ");");

При этой обработке, с SQL запросом для удаления пробелов в строке, выдается ошибка - DAO.Database: Недопустимая операция.
Может как то по другому нужно подключатся к DAO.
...
Рейтинг: 0 / 0
19.10.2004, 15:07:18
    #32744576
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
База акцесовская
...
Рейтинг: 0 / 0
19.10.2004, 15:07:51
    #32744577
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Симв(34) - это ковычки
...
Рейтинг: 0 / 0
19.10.2004, 15:08:41
    #32744580
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
ээ... а Access где ?
...
Рейтинг: 0 / 0
19.10.2004, 15:10:28
    #32744586
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
bobanБаза акцесовская
boban
Имя = СокрЛП(СЗТаблицы.ПолучитьЗначение(СЗТаблицы.ТекущаяСтрока()));

- вот так пишется в VBA под Access
или имеется в виду ДОСТУП к mdb ?
...
Рейтинг: 0 / 0
19.10.2004, 15:10:47
    #32744587
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Вообще это код 1С, но проблеммка возникает при подключении к DAO
...
Рейтинг: 0 / 0
19.10.2004, 15:11:41
    #32744591
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Меня интересует доступ к MDB
...
Рейтинг: 0 / 0
19.10.2004, 15:13:16
    #32744594
PA
PA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Дык, нельзя OpenRecordset и UPDATE в одном флаконе.
Так надо:
db.Execute("Update ....");
ИМХО, replace в этом контексте не покатит...
...
Рейтинг: 0 / 0
19.10.2004, 15:14:16
    #32744600
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Replace - а без него пробовал ?
+ поищи топики а'ля функции Access/VBA при доступе через DAO/ADO - их(топиков было предостаточно)
...
Рейтинг: 0 / 0
19.10.2004, 15:15:19
    #32744603
Alexey Sh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
В 1С на птичьем языке пишется обращение к mdb базе?
тогда открой через ADO
...
Рейтинг: 0 / 0
19.10.2004, 15:27:55
    #32744637
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
PAДык, нельзя OpenRecordset и UPDATE в одном флаконе.
Так надо:
db.Execute("Update ....");
ИМХО, replace в этом контексте не покатит...

К сожалению так тоже не работает.
...
Рейтинг: 0 / 0
19.10.2004, 15:28:59
    #32744639
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Alexey ShВ 1С на птичьем языке пишется обращение к mdb базе?
тогда открой через ADO

так под ADO это не работает.
...
Рейтинг: 0 / 0
19.10.2004, 15:29:55
    #32744642
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
ShuhardReplace - а без него пробовал ?
+ поищи топики а'ля функции Access/VBA при доступе через DAO/ADO - их(топиков было предостаточно)

А без Replace нет смысла запроса.
...
Рейтинг: 0 / 0
19.10.2004, 15:52:25
    #32744679
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
ShuhardReplace - а без него пробовал ?
+ поищи топики а'ля функции Access/VBA при доступе через DAO/ADO - их(топиков было предостаточно)

Может, если у тебя есть ссылочки - поделишься?
...
Рейтинг: 0 / 0
19.10.2004, 16:18:17
    #32744726
OldPferd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
...
Рейтинг: 0 / 0
19.10.2004, 16:26:26
    #32744758
Garrick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
bobandbe=CreateObject("DAO.DBEngine.36");
wksp=dbe.Workspaces(0);
db=wksp.OpenDataBase(СокрЛП(ИмяБД));
//******************************
Имя = СокрЛП(СЗТаблицы.ПолучитьЗначение(СЗТаблицы.ТекущаяСтрока()));
Табл = СокрЛП(СЗПоле.ПолучитьЗначение(СзПоле.ТекущаяСтрока()));
tbldef = db.TableDefs(Имя);
fld = tbldef.Fields();
rs = db.OpenRecordset("UPDATE " + Имя + " Set " + Табл + " = Replace(PTNRDRU," + Симв(34) + " " + Симв(34) + ",

" + Симв(34) +Симв(34)+ ");");

При этой обработке, с SQL запросом для удаления пробелов в строке, выдается ошибка - DAO.Database: Недопустимая операция.
Может как то по другому нужно подключатся к DAO.



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
rs = db.OpenRecordset("SELECT * FROM " + Табл)  'Если надо + WHERE 
If Not rs.EOF And rs.BOF Then
rs.MoveFirst
Do While Not rs.EOF
rs.Edit
rs(Имя) = Replace(PTNRDRU," + Симв(34) + " " + Симв( 34 ))  ' Что там ещё было? 
rs.Update
rs.MoveNext
Loop
rs.Close
...
Рейтинг: 0 / 0
19.10.2004, 16:30:35
    #32744772
4321
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
авторА без Replace нет смысла запроса.
Проверь, работают ли Mid и Trim извне (прости, не помню). Если да - строка коротка. Правда выражение при 30-100 знаках будет просто гробовое.
...
Рейтинг: 0 / 0
20.10.2004, 11:34:09
    #32745991
boban
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обработка в 1С через DAO
Garrick bobandbe=CreateObject("DAO.DBEngine.36");
wksp=dbe.Workspaces(0);
db=wksp.OpenDataBase(СокрЛП(ИмяБД));
//******************************
Имя = СокрЛП(СЗТаблицы.ПолучитьЗначение(СЗТаблицы.ТекущаяСтрока()));
Табл = СокрЛП(СЗПоле.ПолучитьЗначение(СзПоле.ТекущаяСтрока()));
tbldef = db.TableDefs(Имя);
fld = tbldef.Fields();
rs = db.OpenRecordset("UPDATE " + Имя + " Set " + Табл + " = Replace(PTNRDRU," + Симв(34) + " " + Симв(34) + ",

" + Симв(34) +Симв(34)+ ");");

При этой обработке, с SQL запросом для удаления пробелов в строке, выдается ошибка - DAO.Database: Недопустимая операция.
Может как то по другому нужно подключатся к DAO.


Вчера не успел сказать спасибо, вот это действительно помогло, усе работает. Идея была верна.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
rs = db.OpenRecordset("SELECT * FROM " + Табл)  'Если надо + WHERE 
If Not rs.EOF And rs.BOF Then
rs.MoveFirst
Do While Not rs.EOF
rs.Edit
rs(Имя) = Replace(PTNRDRU," + Симв(34) + " " + Симв( 34 ))  ' Что там ещё было? 
rs.Update
rs.MoveNext
Loop
rs.Close
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обработка в 1С через DAO / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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