Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ADO Добавлено: 17.07.07 18:04  

Автор вопроса:  fuzytsfcrew | Web-сайт: video-edit.com.ua | ICQ: 314339 
мне нужно с одной таблици (baza: number, name, profession, ceh, rozryad, trudoemkost)
скопировать нужные поля (profession, ceh, rozryad, trudoemkost) записи
в другую (out: profession, ceh, rozryad, trudoemkost, zarplata)
с критерием WHERE ceh=' & Combo1.Text'

засовываю нужные мне данные в новый recordset и пихаю в другой, а оно матерится, что объект закрыт.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #1 Добавлено: 17.07.07 18:13
Базы разные? если нет, то все выполняется одним SQL-запросом, если да, то в цикле послать insert into.

Ответить

Номер ответа: 2
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #2 Добавлено: 17.07.07 18:28

    ....
    cnnDBF.ConnectionString = ...
    cnnDBF.Open
    cnnMDB.ConnectionString= ...
    cnnMDB.Open
    ....    
    Dim cmd As New ADODB.Command
    Dim ar() As Variant
    Dim i As Integer

    ar() = cnnDBF.Execute("SELECT profession, ceh, rozryad, trudoemkost FROM baza ORDER BY number";).GetRows
    
    cmd.CommandText = "INSERT INTO MyTab (profession, ceh, rozryad, trudoemkost) VALUES ( q1,q2,q3,q4) "
    
    For i = 0 To UBound(ar(), 2)
      cmd.ActiveConnection = cnnMDB
      cmd.Execute , Array(ar(0, i), ar(1, i), ar(2, i), ar(3, i))
    Next

Ответить

Номер ответа: 3
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #3 Добавлено: 17.07.07 18:32
" ... WHERE ceh=' & Combo1.Text & '"

Ответить

Номер ответа: 4
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #4
Добавлено: 18.07.07 08:30
База одна. Называется она - norm.mdb
нужно с одной табл. в другую.

Ответить

Номер ответа: 5
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #5
Добавлено: 18.07.07 10:24
Решил по записи действовать, чтоб прогресс бар можно было подрубить, а оно не пашет. Что не так?


Dim sConnection1 As ADODB.Connection
Dim sRecordset1 As ADODB.Recordset
Dim nomerceha As String
Set sConnection1 = New ADODB.Connection
sConnection1.CursorLocation = adUseClient
sConnection1.Mode = adModeReadWrite
sConnection1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
Set sRecordset1 = New ADODB.Recordset
nomerceha = CStr(Combo1.Text)
sRecordset1.Open "SELECT * FROM baza WHERE ceh LIKE' & nomerceha'", sConnection1, adOpenDynamic, adLockOptimistic, adCmdUnknown

Dim sConnection2 As ADODB.Connection
Dim sRecordset2 As ADODB.Recordset
Set sConnection2 = New ADODB.Connection
sConnection2.CursorLocation = adUseClient
sConnection2.Mode = adModeReadWrite
sConnection2.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
Set sRecordset2 = New ADODB.Recordset
sRecordset2.Open "SELECT * FROM out", sConnection2, adOpenDynamic, adLockOptimistic, adCmdUnknown

        With sRecordset1
        Do Until .EOF
                sRecordset2.AddNew
                sRecordset2.Fields("profession";).Value = .Fields("profession";).Value
                sRecordset2.Fields("ceh";).Value = .Fields("ceh";).Value
                sRecordset2.Fields("rozryad";).Value = .Fields("rozryad";).Value
                sRecordset2.Fields("trudoemkost";).Value = .Fields("trudoemkost";).Value
            .MoveNext
        Loop
        End With

Ответить

Номер ответа: 6
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #6
Добавлено: 18.07.07 10:55
пишет, что текущий Recordset не потдерживает обновление run-time error '3251'

Ответить

Номер ответа: 7
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #7 Добавлено: 18.07.07 17:35

sConnection2.Execute "INSERT INTO out (profession, ceh, rozryad, trudoemkost)  SELECT profession, ceh, rozryad, trudoemkost FROM baza WHERE ceh ... "

Как бы и все.
Но поскольку в критерии запроса используется строка, лучше использовать параметрический запрос.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам