Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: использование данных из ячеек полученного запроса - возможно????? access2003
 
 автор: LilijaSt   (10.06.2008 в 10:51)   личное сообщение
 
 

Вопросс на счет поиска по несколйким параметрам - решила(если кому интерессно разскажу). Теперь появился новый - хочется научится работать с данными которые находит мой поиск....
вот вызываю запрос:

Private Sub Command45_Click()
'Dim stDocName As String
Dim stDocName1 As String
'stDocName = "Maintenance_Data(FOKKER50) Query"
'DoCmd.OpenQuery stDocName, acNormal, acEdit
stDocName1 = "Maintenance_Data(FOKKER50)_Query_subform"
DoCmd.Requery stDocName1

как мне обратится к содержанию ячейки полу4енного запроса????

ПАсиба

  Ответить  
 
 автор: osmor   (10.06.2008 в 11:22)   личное сообщение
 
 

Если это подчиненная форма то к полю текущей записи можно обратиться так:
http://hiprog.com/index.php?option=com_content&task=blogcategory&id=119&Itemid=159
Q15
Если это просто запрос, то есть объект Recordset позволяет получить виртуальный набор записей (по заданной таблице, запросу ил строке SQL), а так же перемещаться по записям, получать данные из полей текущей (для рекордсета) строки, изменять значение полей, осуществлять поиск и т.п.
Существует 2 библиотеки содержащих данный объект DAO и ADODB (сокращенно ADO), свойства и методы объекта REcordset обеих библиотек похожи, но все же имеют различия.
В зависимости от версии ACCESS по умолчанию используется та или иная библиотека
в 97 - DAO
в 2000 и выше - ADO
в 2000 и выше библиотека DAO может быть использована не явно, т.е. без явной ссылки на библиотеку (Функция Currentdb()), но доля полноценного использования лучше DAO ccылку.
далее см. Help "Recordset" соответcвующей библиотеки DAO или ADO
В вашем конкретном случае для DAO:

dim db as DAO.Database
dim rst as DAO.Recordset
dim qdf as DAO.QueryDef
set db = currentdb()
set qdf = db.querydefs("Maintenance_Data(FOKKER50)_Query_subform")
set rst = qdf.OpenRecordset()
if rst.recordcount <>0 then
   msgbox "четветое поле первой строки = " & rst.fields(3)
else
   msgbox "записей нет"
end if


Если нужно получить значение поля другой строки то нужно на нее (строку) переместиться используя методы Movenext, MoveFirst,MoveLast, FindFirst (или Find для ADO) и т.д. см Help

  Ответить  
 
 автор: LilijaSt   (10.06.2008 в 11:31)   личное сообщение
 
 

угу! спасибо - буду пытаться разбираться :)

  Ответить  
 
 автор: LilijaSt   (11.06.2008 в 13:39)   личное сообщение
 
 

уффф - что-то не идёт. вот сюда (set rst = qdf.OpenRecordset() )
надо вставлять адресс я4ейки?

тут (set rst = qdf.OpenRecordset() ) идет обра6ение к конкретной базе данных (мне надо 4тото вписывать?)

кто-то паникует )))))

  Ответить  
 
 автор: osmor   (11.06.2008 в 15:19)   личное сообщение
 
 

"Идет обращение к конкретной базе данных " - всмысле запрос находится в другой базе, а не в той в которой выполняется код?
можно кусок базы?

  Ответить  
 
 автор: LilijaSt   (11.06.2008 в 16:22)   личное сообщение
 
 

нет - всё в одной базе. Могу кинуть что написала - уверена что не правильно... исправте пожалуйста.

Private Sub Command10_Click()
On Error GoTo Err_Command10_Click

'Dim stDocName As String
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim qdf As DAO.QueryDef

'stDocName = "Table1 Query"
'DoCmd.OpenQuery stDocName, acNormal, acEdit

Set db = CurrentDb()
Set qdf = db.QueryDefs("Table1 Query")
Set rst = qdf.OpenRecordset(1, 1)
If rst.RecordCount <> 0 Then
MsgBox "1 , 1 = " & rst.Fields(3)
Else
MsgBox "nothing"
End If

Exit_Command10_Click:
Exit Sub
Err_Command10_Click:
MsgBox Err.Description
Resume Exit_Command10_Click

End Sub


говорит что инвалид...

  Ответить  
 
 автор: osmor   (11.06.2008 в 16:41)   личное сообщение
 
 

где говорит?
на какой строке?
Опишите подробнее что нужно получит в итоге, может есть способы попроще.

  Ответить  
 
 автор: LilijaSt   (12.06.2008 в 09:34)   личное сообщение
 
 

Тот поиск, который есть - выдаёт запрос на форму в виде таблицы, полу4ается 4то она очень длинная, хотя 4аще всего информации надо по минимуму. Так вот - думаю сделать

1: Не в виде таблицы;
2: Только набор самых 4асто используемых данных (что-то вроде заголовка);
3: Плюс рядом ссылка типа "ИНФО", которая разкрывает нужный документ более подробно при необходимости.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList