powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обработка в 1С через DAO
18 сообщений из 18, страница 1 из 1
Обработка в 1С через DAO
    #32744565
boban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Обработка в 1С через DAO
    #32744576
boban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База акцесовская
...
Рейтинг: 0 / 0
Обработка в 1С через DAO
    #32744577
boban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симв(34) - это ковычки
...
Рейтинг: 0 / 0
Обработка в 1С через DAO
    #32744580
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ээ... а Access где ?
...
Рейтинг: 0 / 0
Обработка в 1С через DAO
    #32744586
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bobanБаза акцесовская
boban
Имя = СокрЛП(СЗТаблицы.ПолучитьЗначение(СЗТаблицы.ТекущаяСтрока()));

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

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

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

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

Может, если у тебя есть ссылочки - поделишься?
...
Рейтинг: 0 / 0
Обработка в 1С через DAO
    #32744726
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Обработка в 1С через DAO
    #32744758
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
Обработка в 1С через DAO
    #32744772
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА без Replace нет смысла запроса.
Проверь, работают ли Mid и Trim извне (прости, не помню). Если да - строка коротка. Правда выражение при 30-100 знаках будет просто гробовое.
...
Рейтинг: 0 / 0
Обработка в 1С через DAO
    #32745991
boban
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Обработка в 1С через DAO
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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