powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не пойму в чем проблема
9 сообщений из 9, страница 1 из 1
Не пойму в чем проблема
    #39300516
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, подскажите пожалуйста в чем мой косяк....

Вот пример кода:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Set rst_1 = b.OpenRecordset("vibor_ip_kalkul")
kol_vo = rst_1.Fields.Count

While Not rst_1.EOF
znach = Trim(rst_1!Vibor)
MsgBox rst_1!Vibor
sqlstr = "select * from ОТВЕТЫ_ИП where (ОТВЕТЫ_ИП.НОМЕР_ИП like '" & "* " & znach & " * ')" ' " '"

MsgBox sqlstr
Set rst = CurrentDb.OpenRecordset(sqlstr, dbOpenSnapshot)
'MsgBox sqlstr
ViewRecordset rst
kol_vo1 = rst.Fields.Count
'MsgBox rst1!НОМЕР_ИП
    rst_1.MoveNext
    I = I + 1
Wend



Суть проблемы, в том, что Set rst = CurrentDb.OpenRecordset(sqlstr, dbOpenSnapshot) возвращает пустой результат, хотя если в аксесе "на прямую" сделать запрос из sqlstr = "select * from ОТВЕТЫ_ИП where (ОТВЕТЫ_ИП.НОМЕР_ИП like '" & "* " & znach & " * ')" ' " '" где заменить & znach & на конкретные значения которые отображаются, то запрос выводит корректный результат....

Ткните пожалуйста носом в мою безграмотность в написании запросов...
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39300559
Safich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэп, косяк наверно в структуре таблице, но сейчас не об этом...
Есть строчка
Код: vbnet
1.
Msgbox sqlstr

замените на
Код: vbnet
1.
Debug.Print sqlstr

далее поставьте точку останова на Set rst и выполните код. В окне Immediate (Ctr+G) должна появиться строка sql - скопируйте её в пустой запрос (через конструктор запросов) и изучите. Скорее всего ошибка в кавычках... что за одинарная кавычка после закрывающейся скобки?
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39300720
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мешают пробелы при звездочках. Они формируют неверный шаблон поиска
Код: vbnet
1.
sqlstr = "select * from ОТВЕТЫ_ИП where ОТВЕТЫ_ИП.НОМЕР_ИП like '*" & znach & "*'"
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39300795
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_worldМешают пробелы при звездочках. Они формируют неверный шаблон поиска
Код: vbnet
1.
sqlstr = "select * from ОТВЕТЫ_ИП where ОТВЕТЫ_ИП.НОМЕР_ИП like '*" & znach & "*'"



Спасибо. Вот что значит не "замыленный" глаз....
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39301110
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Safich
[/src] замените на
Код: vbnet
1.
Debug.Print sqlstr

далее поставьте точку останова на Set rst и выполните код. В окне Immediate (Ctr+G) должна появиться строка sql - скопируйте её в пустой запрос (через конструктор запросов) и изучите. Скорее всего ошибка в кавычках... что за одинарная кавычка после закрывающейся скобки?


А подскажите пожалуйста, когда я ее копирую в аксес, то руские буквы превращаются в абра-кадабру, как от этого уйти? (кроме переименовать поля в таблицах)
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39301130
раскладка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэпSafich[/src] замените на
Код: vbnet
1.
Debug.Print sqlstr

далее поставьте точку останова на Set rst и выполните код. В окне Immediate (Ctr+G) должна появиться строка sql - скопируйте её в пустой запрос (через конструктор запросов) и изучите. Скорее всего ошибка в кавычках... что за одинарная кавычка после закрывающейся скобки?


А подскажите пожалуйста, когда я ее копирую в аксес, то руские буквы превращаются в абра-кадабру, как от этого уйти? (кроме переименовать поля в таблицах)
Перед процессом копирования смените раскладку ;)
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39301211
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
раскладкаПеред процессом копирования смените раскладку ;)


Спасибо. А не подскажите ли (пример кода) как обратиться к ячйке (i,j) - (записать значения) Таблицы i, в вордовском документе?

То что я делаю, у меня вываливается в ошибку :(
Пример моего кода:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Set WordOb = CreateObject("Word.document")
Set WordOb = GetObject("c:\work\shab\reestr.odt")
Set WordApOb = WordOb.Parent
 
' Хоть так хоть так.....
WordApOb.Tables(i).Cells(j, k).Range.Text = rst_2!spi
 ' Хоть так хоть так.....
WordApOb.Tables(i).Cells(j, k) = rst_1!Vibor
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39301539
Алексей34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ккэпСпасибо. А не подскажите ли (пример кода) как обратиться к ячйке (i,j) - (записать значения) Таблицы i, в вордовском документе?

Может как-то так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 Set Table = obWord.ActiveDocument.Tables.Add(obWord.Selection.Range, 6, 2)
  With obWord.ActiveDocument.Tables((p * 3) + 2)
   If .Style <> "Сетка таблицы" Then
     .Style = "Сетка таблицы"
     End If
     .ApplyStyleHeadingRows = True
     .ApplyStyleLastRow = False
     .ApplyStyleFirstColumn = True
     .ApplyStyleLastColumn = False
     .ApplyStyleRowBands = True
     .ApplyStyleColumnBands = False
     .Columns(1).SetWidth ColumnWidth:=296, RulerStyle:=wdAdjustNone
     .Columns(2).SetWidth ColumnWidth:=233.9, RulerStyle:=wdAdjustNone
     .Cell(1, 1).Range.Text = "Фамилия, имя, отчество физического лица / наименование юридического лица"
     .Cell(2, 1).Range.Text = "Гражданство"
     .Cell(3, 1).Range.Text = "Реквизиты документа, удостоверяющего личность"
     .Cell(4, 1).Range.Text = "Налоговый номер / номер и серия паспорта физического лица"
     .Cell(5, 1).Range.Text = "Место жительства / местонахождение "
     .Cell(6, 1).Range.Text = "Вид вещного права"
....
End With
...
Рейтинг: 0 / 0
Не пойму в чем проблема
    #39301861
ккэп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей34ккэпСпасибо. А не подскажите ли (пример кода) как обратиться к ячйке (i,j) - (записать значения) Таблицы i, в вордовском документе?

Может как-то так


Не выходит каменный цветок... Если вставляю твой код, то run-time 424, если меняю название переменных
Код: vbnet
1.
obWord.ActiveDocument.Tables.Add(obWord.Selection.Range, 6, 2)


на
Код: vbnet
1.
WordOb.ActiveDocument.Tables.Add(WordOb.Selection.Range, 6, 2)

, т.к. у меня WordOb, описан как
Код: vbnet
1.
Set WordOb = CreateObject("Word.document")

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


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