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

Форум: MS ACCESS

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

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

 
 

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

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

тема: открытие recordset
 
 автор: Gold Man   (17.03.2010 в 13:02)   личное сообщение
 
 

туплю по-страшному.
пересмотрел кучу примеров по поиску.
Переношу приведенные примеры в свою задачу - не работают. То ли не подключаю какую-то библиотеку, то ли путаю типы подключения.
Задача - из таблицы считать столбец, пробежаться по записям, обработать каждое значение и вставить его в другую таблицу.
Пробую так


Private Sub кнопка13_Click()

Dim tb1 As ADODB.Recordset
Set tb1 = New ADODB.Recordset

Sql = "select ogl from tbl " 

tb1.Open Sql

tb1.MoveFirst
Do While tb1.EOF = False
    Str1 = tb1("ogl")
    For i = 1 To Len(Str1)
        ch = Mid(Str1, i, 1)
       DbCurrent.execute ("INSERT INTO tbl1(  word ) VALUES (" & Str1 & ");")
        
    Next
    tb1.MoveNext
Loop
Set tb1 = Nothing

End Sub



В таком случае пишет "невозможно использовать подключение для выполнения операциию Оно закрыто или не допускается в данном контексте"

Выручайте, люди! Access 2003

  Ответить  
 
 автор: час   (17.03.2010 в 13:12)   личное сообщение
 
 

мну кажется вот тута не хватает констант блокировок
tb1.Open Sql
==============
а вот тута:
Sql = "select tbl from tbl "

  Ответить  
 
 автор: Gold Man   (17.03.2010 в 13:21)   личное сообщение
 
 

А по умолчанию он ничего не подставит? Менять в исходном рекордсете ничего не надо

  Ответить  
 
 автор: Gold Man   (17.03.2010 в 13:18)   личное сообщение
 
 

Делаю так

Dim DB1 As DAO.Database
Dim tb1 As DAO.Recordset
Set DB1 = CurrentDb
Sql = "select ogl from tb1; "
Set tb1 = CurDB.OpenRecordset(Sql)


Пишет, неопределен тип данных

  Ответить  
 
 автор: час   (17.03.2010 в 13:23)   личное сообщение
 
 

А кто такой этот - ogl
Я тоже не определил...

  Ответить  
 
 автор: Gold Man   (17.03.2010 в 13:27)   личное сообщение
 
 

ogl - поле в таблице

  Ответить  
 
 автор: час   (17.03.2010 в 14:07)   личное сообщение
 
 

тада может tb1.ogl

  Ответить  
 
 автор: Анатолий (Киев)   (17.03.2010 в 14:46)   личное сообщение
 
 


Set DB1 = CurrentDb 
Sql = "select ogl from tb1; " 
Set tb1 = CurDB.OpenRecordset(Sql) 

Видимо нужно так:
Set tb1 = DB1.OpenRecordset(Sql)

Или как вы объявили CurDB[?
ЗЫ. Кстати, у вас в настойках VBA указано обязательное объявление переменных?

  Ответить  
 
 автор: Gold Man   (17.03.2010 в 13:50)   личное сообщение
 
 

В первом примере сделал так

tb1.Open Sql, GLB_CONNECTION, adOpenKeyset, adLockOptimistic


Пишет, неверный тип аргументов.

  Ответить  
 
 автор: ДрЮня   (17.03.2010 в 14:01)   личное сообщение
 
 


Private Sub org_GetList()
Dim sSQL As String, rs As ADODB.Recordset, r As Long, boShow As Boolean, upID As Variant

    On Error GoTo L_Err
    
    Set rs = New ADODB.Recordset
    sSQL = "SELECT * from зОрганизация order by Название"
    rs.Open sSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
    If rs.EOF And rs.BOF Then Exit Sub
    If Not rs.BOF Then rs.MoveFirst
    Do While Not rs.EOF
        ...
        rs.MoveNext
    Loop

L_Exit: Set rs = Nothing: Exit Sub
L_Err: MsgBox Err.Description & " (" & Err.Number & ")", vbExclamation, "org_GetList": GoTo L_Exit
End Sub

  Ответить  
 
 автор: Gold Man   (17.03.2010 в 15:37)   личное сообщение
 
 

Спасибо, помогло

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