Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2012, 08:40   #1
fyedor
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 71
Восклицание ACCESS: Выборка SELECT

Доброго времени суток!

Делаю выборку запросом SELECT из БД:

StrSQL = "SELECT УЛИЦА FROM ЧИСЛОЖИТЕЛЕЙПОКВАДРАТАМГОРОД WHERE Квадрат = 51;"

Form_TempForm.Поле4.Text = CurrentProject.Connection.Execute(S trSQL).Fields(0)

Все работает, но возвращает лишь первое значение выборки, а должно быть 3 значения. Вопрос: как обратиться к остальным элементам?

Вот так не работает: Form_TempForm.Поле4.Text = CurrentProject.Connection.Execute(S trSQL).Fields(1)

Говорит, что элемент не найден.
fyedor вне форума Ответить с цитированием
Старый 17.12.2012, 12:39   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Доброе утро.
Может я ещё не проснулся, НО если я правильно понял Вы хотите в текстовое поле (1 даже не в источник строк) засунуть результата запроса из нескольких строк?
И при этом при попытках обращения к 2 СТОЛБЦУ, который отсутствует в запросе на выборку ВАМ выдаёт ошибку?
Странно.... Попробуйте поподробней описать что Вы хотите получить поле со списком или текстовое поле в котором текст запроса должен обьеденится с каким-то разделителем?
gluk_fm вне форума Ответить с цитированием
Старый 18.12.2012, 08:27   #3
fyedor
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 71
По умолчанию

gluk_fm, нет, я пытаюсь найти способ обратиться не ко второму столбцу, а, например, ко второй строке выборки (у меня выбирается только один столбец УЛИЦА).

Просто не знаю способа, как это сделать..
fyedor вне форума Ответить с цитированием
Старый 18.12.2012, 10:47   #4
fyedor
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 71
По умолчанию

Сделал так:

Код:
    StrSQL = "SELECT УЛИЦА FROM ЧИСЛОЖИТЕЛЕЙПОКВАДРАТАМГОРОД WHERE Квадрат = 51;"

    CurrentProject.Connection.Execute(StrSQL).MoveFirst
    Do While Not CurrentProject.Connection.Execute(StrSQL).EOF
        MsgBox (CurrentProject.Connection.Execute(StrSQL).Fields("УЛИЦА"))
        CurrentProject.Connection.Execute(StrSQL).MoveNext
    Loop
Но из выборки берется только первый элемент, т.е. элемент первой строки...Как вывести все элементы выбоки??
fyedor вне форума Ответить с цитированием
Старый 18.12.2012, 11:22   #5
LittleFatCat
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 68
По умолчанию

Доброго времени суток!

А нельзя ли в этом случае создать Recordset, а потом уже по нему спокойно пройтись MoveNext-ом?
LittleFatCat вне форума Ответить с цитированием
Старый 18.12.2012, 12:10   #6
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Добрый день.
Что-то у меня такое впечатление что проблема лежит перед носом... А Вы случайно не пробовали просто сделать поле со списком и для него сделать источником строк Ваш запрос?
gluk_fm вне форума Ответить с цитированием
Старый 18.12.2012, 12:19   #7
fyedor
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 71
По умолчанию

LittleFatCat, строка
Код:
CurrentProject.Connection.Execute(StrSQL)
уже по сути и есть Recordset, т.е. она возвращает Recordset.

Я пробовал записывать все в переменную типа Recordset - проблему не решает.
fyedor вне форума Ответить с цитированием
Старый 18.12.2012, 12:28   #8
LittleFatCat
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 68
По умолчанию

Доброго времени суток!

А количество строк в рекордсете чему равно? Там хоть есть что перебирать-то?
LittleFatCat вне форума Ответить с цитированием
Старый 18.12.2012, 12:36   #9
fyedor
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 71
По умолчанию

gluk_fm, да, только что попробовал. Запрос работает отлично. В списке все элементы выборки. А вот как в коде к ним обращаться - не понятно (без полей со списками)...
fyedor вне форума Ответить с цитированием
Старый 18.12.2012, 12:42   #10
fyedor
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 71
По умолчанию

LittleFatCat, проверил так:
Код:
StrSQL = "SELECT УЛИЦА FROM ЧИСЛОЖИТЕЛЕЙПОКВАДРАТАМГОРОД WHERE Квадрат = 51;"
MsgBox (CurrentProject.Connection.Execute(StrSQL).Fields.Count)
выдало, что там 1... Я правильно делаю подсчет?
fyedor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборка данных по дате из БД Access. Delphi 7.0 tresheron Помощь студентам 5 01.05.2011 16:30
Выборка из базы MS Access Provoking Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 06.03.2011 20:39
выборка select serj011 PHP 0 22.04.2010 14:42
Выборка по датам в Access Demien БД в Delphi 9 28.10.2009 09:14
Выборка из txt в БД access Roman_RNP БД в Delphi 7 17.04.2009 20:07