Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / select в VBA / 22 сообщений из 22, страница 1 из 1
24.01.2005, 10:15:50
    #32879337
james1982
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
привет всем

ни как не могу найти путного примера
нужно в VBA написать запрос допустим select company_name from company
и потом в цикле перебрать все записи и закинуть в какую нибудь переменную VBA

киньте пример
...
Рейтинг: 0 / 0
24.01.2005, 10:26:32
    #32879377
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Не надо в цикле перебирать записи. Используйте одну строку кода - DLookup. Фы1 вам поможет.
...
Рейтинг: 0 / 0
24.01.2005, 11:26:46
    #32879531
S l
S l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("select company_name from company;")
rst.MoveFirst

While Not rst.EOF
ИмяПеременной= rst.Fields(0).Value
.MoveNext
Loop

.Close
End With
dbs.Close
...
Рейтинг: 0 / 0
24.01.2005, 11:30:02
    #32879541
S l
S l
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
ой-ёй.. предыдущее сообщение не в счет :)

Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("select company_name from company;")
rst.MoveFirst
While Not rst.EOF
ИмяПеременной= rst.Fields(0).Value
rst.MoveNext
endwhile
rst.Close
dbs.Close
...
Рейтинг: 0 / 0
24.01.2005, 11:33:52
    #32879551
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
<ИмяПеременной> = Dlookup("company_name","company","company_id=" & Cstr(<ИмяПеременной где лежит код компании>). Все, код кончился.
...
Рейтинг: 0 / 0
24.01.2005, 11:35:11
    #32879558
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Ыщо одну скобку ")" в конце забыл.
...
Рейтинг: 0 / 0
24.01.2005, 12:59:41
    #32879850
james1982
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
S lой-ёй.. предыдущее сообщение не в счет :)

Dim dbs As Database, rst As Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("select company_name from company;")
rst.MoveFirst
While Not rst.EOF
ИмяПеременной= rst.Fields(0).Value
rst.MoveNext
endwhile
rst.Close
dbs.Close

Set rst = dbs.OpenRecordset("select company_name from company;")
error type missmatch
...
Рейтинг: 0 / 0
24.01.2005, 13:00:16
    #32879852
james1982
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Программист-Любитель<ИмяПеременной> = Dlookup("company_name","company","company_id=" & Cstr(<ИмяПеременной где лежит код компании>). Все, код кончился.

а как получить набор записей?
...
Рейтинг: 0 / 0
24.01.2005, 13:03:12
    #32879859
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
james1982
Set rst = dbs.OpenRecordset("select company_name from company;")
error type missmatch
А теперь ответь на вопросы:
1. Версия Акса?
2. mdb или adp?

PS: Правила изредка рекомендуется перечитывать!
...
Рейтинг: 0 / 0
24.01.2005, 13:07:40
    #32879874
james1982
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
paparome james1982
Set rst = dbs.OpenRecordset("select company_name from company;")
error type missmatch
А теперь ответь на вопросы:
1. Версия Акса?
2. mdb или adp?

PS: Правила изредка рекомендуется перечитывать!

access 2002 (xp) но база в формате 2000
mdb
...
Рейтинг: 0 / 0
24.01.2005, 13:08:50
    #32879880
AndrewNico
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
james1982Set rst = dbs.OpenRecordset("select company_name from company;")
error type missmatch

У тебя, скорее всего только ADO'шная библиотека подключена. А код в DAO.

для ADO:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim strSQL As String
    
    Set cnn = CurrentProject.Connection
    Set rst = New ADODB.Recordset
    
    strSQL = ""
    
    rst.Open strSQL, cnn
    
    If Not rst.EOF Then
       While Not rst.EOF
           'Что-то делаем с набором записей
           '..............................................
           rst.MoveNext
       Wend
    End If
    
    rst.Close

    Set rst = Nothing
    Set cnn = Nothing
...
Рейтинг: 0 / 0
24.01.2005, 13:12:16
    #32879892
AndrewNico
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Да, забыл, надо:

strSQL = "select company_name from company"
...
Рейтинг: 0 / 0
24.01.2005, 13:13:19
    #32879895
james1982
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
большое спасибо
заработало
...
Рейтинг: 0 / 0
24.01.2005, 13:28:14
    #32879933
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Еще одно преимущество Dlookup помимо объема кода (1 строка против нескольких) - независимость от библиотеки. Использует встроенную ссылку на сам аксесс.

Желаете длинного кода с открытием Recordset'а - вольному воля.
...
Рейтинг: 0 / 0
24.01.2005, 13:36:58
    #32879967
AndrewNico
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Программист-ЛюбительЕще одно преимущество Dlookup помимо объема кода (1 строка против нескольких) - независимость от библиотеки. Использует встроенную ссылку на сам аксесс.

Желаете длинного кода с открытием Recordset'а - вольному воля.

Только один недостаток, возвращает одно конкретное значение.

А человеку, насколько я понял, нужен набор записей. Или я не прав?
...
Рейтинг: 0 / 0
24.01.2005, 13:39:56
    #32879976
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Он же хотел какое-то конкретное значение перегнать в переменную. Я так понял постановку вопроса.
...
Рейтинг: 0 / 0
24.01.2005, 13:45:34
    #32879994
AndrewNico
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Программист-ЛюбительОн же хотел какое-то конкретное значение перегнать в переменную. Я так понял постановку вопроса.

james1982и потом в цикле перебрать все записи и закинуть в какую нибудь переменную VBA


А мне кажется, вполне может быть:

Код: plaintext
1.
2.
3.
4.
5.
6.
   If Not rst.EOF Then
       While Not rst.EOF
           strBigText = strBigText & ";" & rst!SmallText
           rst.MoveNext
       Wend
    End If

А вообще, если все удовлетворены, какая разница...
...
Рейтинг: 0 / 0
24.01.2005, 13:53:47
    #32880016
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
DlookUP и тонкий клиент несовместимы. Так что он не всегда помогает.
ВОТ.
...
Рейтинг: 0 / 0
24.01.2005, 14:18:57
    #32880111
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
2 Proga: Можно поподробнее ? А то я сам часто такими приемами пользуюсь, да еще другим советую. Насчет подводных граблей не в курсе, был бы рад узнать!
...
Рейтинг: 0 / 0
24.01.2005, 14:30:05
    #32880150
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Dlookup применим только при доступе юзера к табле, а тонкий клиент запрещает такие действия, а именно, можно юзеру отдать в пользование только исполнять ХП. Чувствуешь разницу. А то найдётся чудо-юзер да и откроет структуру БД, да поламает там всё, из того же ADP, а так он максимум разрешённые ему ХП-шки увидет, так вот.
...
Рейтинг: 0 / 0
24.01.2005, 14:32:22
    #32880160
Proga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Я например свой собственный DlookUP на серваке написал, и юзаю его как стандартный.
...
Рейтинг: 0 / 0
24.01.2005, 15:25:35
    #32880340
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
select в VBA
Спасибо, буду иметь в виду!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / select в VBA / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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