Вернуться   Форум программистов > Форум Программирование > Форум VBA

VBA

Программирование на VBA

Ответ
 
Старый 23.07.2001, 21:27   #1
yuriuss
Новичок
 
Регистрация: 23.07.2001
Сообщений: 2
yuriuss пока не определено
По умолчанию Найти нужную запись в таблице Access'а через VBA Excel

Народ, никак не получается!!!
И как если нашел сделать ее текущей???
Поделитесь куском кода! Очень надо!!!
Вот что у меня есть:

Dim objAccess As Object
Dim db As Object
Dim tb As Object
Dim rs As Object
Dim i As Integer, n As Integer

Set objAccess = GetObject('test.mdb')
objAccess.UserControl = False
objAccess.Visible = False
Set db = objAccess.currentdb
Set tb = db.tabledefs('TB_TEST')
Set rs = db.openrecordset('TB_TEST')

rs.MoveFirst

а что дальше??? Пробовал FindFirst но он не работает. Хотя может я просто не так записал!?
Как будет правильно???
Может есть способ альтернативный FindFirst'у ?
P.S. просто мне это нужно для Апдейта определенных полей в нужной строке.

Заранее спасибо!!!
yuriuss вне форума  
Старый 25.07.2001, 17:27   #2
slavasl
Местный
 
Регистрация: 27.02.2001
Сообщений: 125
slavasl пока не определено
По умолчанию RE: !!! Помогите найти нужную запись в таблице Access'а через VBA Excel !!!

Привет я взял твой пример и добавил туда цикл
на всякий случай ещё поставил изменение и добавление.
Вдруг пригодиться ))
Проблема была в том что ты не определил ссылку на вид считываемых данных
надо Set rs = db.openrecordset('Customers', dbOpenDynaset)
Если вопросы будут пиши на мыло

Dim objAccess As Object
Dim db As Object
Dim tb As Object
Dim rs As Object
Dim i As Integer, n As Integer

Set objAccess = GetObject('c: est.mdb')
'=objAccess.UserControl = False
objAccess.Visible = True
'Set db = objAccess.currentdb
Set db = objAccess.currentdb
Set tb = db.tabledefs('Customers')
Set rs = db.openrecordset('Customers', dbOpenDynaset)

Crit = 'CompanyName='Alfreds Futterkiste''

Do While Not rs.NoMatch
rs.FindFirst Crit
test = rs('CustomerID')
MsgBox test
' Izmenenie znacenij
rs.Edit
rs('CompanyName') = 'Alfreds Futterkiste'
rs.Update
'''''''''''''''''''''''''''''''''''''''''''''''''' '''
'dobavlenie novih znacenij
rs.AddNew
rs('CustomerID') = 'VS'
rs('CompanyName') = 'Vjatseslav Stserbakov'
rs.Update
'''''''''''''''''''''''''''''''''''''''''''''''''' '''
rs.FindNext Crit
Loop
db.Close
slavasl вне форума  
Ads
Ответ
Опции темы

Похожие темы
Тема Автор
Учебник по VBA/WORD для новичка
Подскажите пожалуйста, где можно в Inet-е найти какой-нибудь учебник по VBA/WORD для новичка в этом вопросе. Спасибо
ov
Можно ли передать "ссылку" на выделение? VBA
Подскажите пожалуйста. Я хочу передать в функцию выделенную в текущий момент область Application.Selection Компилятор отказывается это сделать (это логично вообще-то). Можно ли передать вместо...
ov
VBA Могу ли я получить в Word'e доступ к каждой букве?
Пожалуйста помогите, могу ли я получить в Word'e доступ к каждой букве??? И есть ли у этой буквы свойства, такие как цвет, шрифи, итд.? Заранее благодарю
ov
Есть ли в VBA понятие конструктор объекта?
Подскажите пожалуйста!!! Есть ли в VBA понятие конструктор объекта??? и если есть, то как с ним работать (его вызывать и описывать)??? Заранее благодарю.
ov
VBA Как узнать где установлен фокус в Access?
Как узнать где установлен фокус в Access? Необходимо переместить фокус, выполнить некоторые действия и установить фокус на том месте где он был ранее. Как его переместить знаю, а как сохранить...
Oleg
Можно ли в VBA синхронно вызвать другую программу?
можно ли в VBA синхронно вызвать другую программу? а то Call Shell(stAppName, 0) идет дальше, даже если прога не закончила работу
Albatross



Текущее время: 11:40. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru