powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / 2 connection string-a
8 сообщений из 8, страница 1 из 1
2 connection string-a
    #34105945
CLilian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привествую свех,
я перейду сразу к сути дела и проблема вот в чем:
надо нерекатать данные (прайс листы) из старой базы данных (МС Акчесс) в новую. Поля и в старой и в новой базе остались те же, но остальное потерпело большие изменения в структуре. Так вот я открываю 2 конекшин стрига (1 к старой базе подключен, 2 - второй) и с помощью селектов и рекорд сетов тупо копирую в новую.
Все отлично до того момента пока прога не висает, я проверил ощибок нет и OnError ничего не выдает, но она просто тупо виснет. Да вот ище кое што Task Manager показывает что 2 Masterprice.exe не отвечают а запущен свего один и это только при данной операции (синхронизации) а во все остальное все прекрасно.

Помогите пожайлуста разобраться.
Спасибо всем,
С уважением Лилиан.

кон.2
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Function ConnectSync(ByVal sUser As String, ByVal sPwd As String) As String
    On Error GoTo err:
    Set cnSync = New ADODB.Connection
    cnSync.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " & _
            "Data Source=" & App.Path & "\Data\Masterprice_old.mdb; " & _
            "User ID=" & sUser & "; " & _
            "Password=" & sPwd & "; " & _
            "Mode=ReadWrite|Share Deny None; " & _
            "Jet OLEDB:Database Password='122';"
    cnSync.CursorLocation = adUseClient
    cnSync.Open
    ConnectSync = "TRUE"
    Exit Function

err:
    Set cnSync = Nothing
    ConnectSync = "FALSE"
End Function

кон.1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Function ConnectToLocal(ByVal sUser As String, ByVal sPwd As String) As String
    On Error GoTo err:
    Set cn = New ADODB.Connection
    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; " & _
            "Data Source=" & App.Path & "\Data\Masterprice.mdb; " & _
            "User ID=" & sUser & "; " & _
            "Password=" & sPwd & "; " & _
            "Mode=ReadWrite|Share Deny None; " & _
            "Jet OLEDB:Database Password='122';"
    cn.Open
    ConnectToLocal = "TRUE"
    Exit Function

err:
    Set cn = Nothing
    ConnectToLocal = "FALSE"
End Function
...
Рейтинг: 0 / 0
2 connection string-a
    #34106291
CLilian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я заметил что:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
'=== Genprice ===
    frmProgress!pbProgress.Value =  0 
    rs1.Open "SELECT COUNT(Supplies.suppliesid) AS Nr FROM Supplies;", cnSync, adOpenDynamic, adLockOptimistic
    If Not rs1.EOF Then
        wsCount = rs1("Nr").Value
    End If
    rs1.Close
    '=== Prod ===
    frmProgress!lblPages.Caption = "Îñòàëîñü " & wsCount & " ïîñòàâùèêîâ"
    rs1.Open "SELECT * FROM Supplies;", cnSync, adOpenDynamic, adLockOptimistic
    While Not rs1.EOF
        'update supplies information
        rs2.Open "SELECT * FROM Supplies WHERE " & _
            "(((Supplies.fullname) = '" & Trim(rs1("fullname").Value) & "') AND " & _
            "((Supplies.shortname) = '" & Trim(rs1("shortname").Value) & "'));", cn, adOpenDynamic, adLockOptimistic
        If rs2.EOF Then
            rs2.Close
            rs2.Open "Supplies", cn, adOpenStatic, adLockPessimistic
            rs2.AddNew
            rs2!fullname = rs1!fullname
            rs2!ShortName = rs1!ShortName
            rs2!deliverytime = rs1!deliverytime
            rs2!prefix = rs1!prefix
            rs2!sendto = rs1!sendto
            rs2!deleted = rs1!deleted
            rs2.Update
            nSupp = rs2!suppliesid
            rs2.Close
        Else
            rs2!fullname = rs1!fullname
            rs2!ShortName = rs1!ShortName
            rs2!deliverytime = rs1!deliverytime
            rs2!prefix = rs1!prefix
            rs2!sendto = rs1!sendto
            rs2!deleted = rs1!deleted
            rs2.Update
            nSupp = rs2!suppliesid
            rs2.Close
        End If
        
        'get old price & update new
        rs.Open "SELECT COUNT(Genprice.genpriceid) AS Nr FROM Genprice WHERE suppliesid=" & rs1!suppliesid & ";", cnSync, adOpenDynamic, adLockOptimistic
        If Not rs.EOF Then
            frmProgress!pbProgress.Max = rs("Nr").Value +  2 
        End If
        rs.Close
        nCount =  1 
        frmProgress!pbProgress.Value = nCount
        
        rs.Open "SELECT Genprice.genpriceid, Genprice.producesid, " & _
            "Genprice.suppliesid, Genprice.srchcode, Genprice.printcode, " & _
            "Genprice.description, Genprice.weight, Genprice.supprice, " & _
            "Genprice.suppricedate, Genprice.addprice, Genprice.sendto, " & _
            "Genprice.deleted, Supplies.shortname, Supplies.fullname, Supplies.deleted AS Sdeleted " & _
            "FROM Supplies INNER JOIN Genprice ON Supplies.suppliesid = " & _
            "Genprice.suppliesid WHERE (((Supplies.suppliesid)=" & rs1!suppliesid & "));", cnSync, adOpenDynamic, adLockOptimistic
        While Not rs.EOF
            'update produces information
            rs2.Open "SELECT * FROM Produces WHERE (((Produces.shortname) = '" & _
                Trim(rs("shortname").Value) & "'));", cn, adOpenDynamic, adLockOptimistic
            If rs2.EOF Then
                rs2.Close
                rs2.Open "Produces", cn, adOpenDynamic, adLockOptimistic
                rs2.AddNew
                rs2!ShortName = rs!ShortName
                rs2!fullname = rs!fullname
                rs2!deleted = rs!Sdeleted
                rs2.Update
                nProd = rs2!producesid
                rs2.Close
            Else
                rs2!ShortName = rs!ShortName
                rs2!fullname = rs!fullname
                rs2!deleted = rs!Sdeleted
                rs2.Update
                nProd = rs2!producesid
                rs2.Close
            End If
            
            '=== Genprice ===
            rs2.Open "SELECT * FROM Genprice WHERE " & _
                "(((Genprice.printcode) = '" & Trim(rs("printcode").Value) & "') AND " & _
                "((Genprice.producesid) = " & nProd & ") AND " & _
                "((Genprice.suppliesid) = " & nSupp & "));", cn, adOpenDynamic, adLockOptimistic
            If rs2.EOF Then
                rs2.Close
                rs2.Open "Genprice", cn, adOpenDynamic, adLockOptimistic
                rs2.AddNew
                rs2!producesid = nProd
                rs2!suppliesid = nSupp
                rs2!srchcode = Trim(rs!srchcode)
                rs2!printcode = Trim(rs!printcode)
                rs2!Description = Trim(rs!Description)
                rs2!Weight = Trim(rs!Weight)
                rs2!supprice = rs!supprice
                rs2!suppricedate = rs!suppricedate
                rs2!addprice = rs!addprice
                rs2!sendto = rs!sendto
                rs2!deleted = rs!deleted
                rs2.Update
                rs2.Close
            Else
                rs2!producesid = nProd
                rs2!suppliesid = nSupp
                rs2!srchcode = Trim(rs!srchcode)
                rs2!printcode = Trim(rs!printcode)
                rs2!Description = Trim(rs!Description)
                rs2!Weight = Trim(rs!Weight)
                rs2!supprice = rs!supprice
                rs2!suppricedate = rs!suppricedate
                rs2!addprice = rs!addprice
                rs2!sendto = rs!sendto
                rs2!deleted = rs!deleted
                rs2.Update
                rs2.Close
            End If
            
            nCount = nCount +  1 
            frmProgress!pbProgress.Value = nCount
            rs.MoveNext
        Wend
        rs.Close
        
        wsCount = wsCount -  1 
        frmProgress!lblPages.Caption = "Îñòàëîñü " & wsCount & " ïîñòàâùèêîâ"
        rs1.MoveNext
    Wend
    rs1.Close
цикл работает если нажать F8 в VB но блокировка програмы (при F5) происходит при nCount > 1 700, а записей в базе больше 200 000.
Может вы знаете другой подход копирования данных из 2 разных баз данных?
Буду признателен любым расуждениям.

С уважением,
Лилиан.
...
Рейтинг: 0 / 0
2 connection string-a
    #34107407
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разбей свой большой поток данных на куски. Например после каждых пятисот логических записей, посылай в commit. Потом продолжай копировать данные.
...
Рейтинг: 0 / 0
2 connection string-a
    #34108664
CLilian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White OwlРазбей свой большой поток данных на куски. Например после каждых пятисот логических записей, посылай в commit. Потом продолжай копировать данные.
Я так и сделал но проблема не исчезла, я не знаю что еще сделать и где искать решения, сделал так (ниже) но прога все равно блокируетьса.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
Private Function CopyTMPrices() As Boolean
    Dim nCount As Long, nProd As Long, nSupp As Long
    Dim dPriceDate As Date, sSql As String, nLimit As Integer, nMin As Long
    Dim nMaxim As Long
    
    Set rs = New ADODB.Recordset
    Set rs1 = New ADODB.Recordset
    Set rs2 = New ADODB.Recordset
    Set rs3 = New ADODB.Recordset
    
    'On Error GoTo err:
    
    frmProgress!lblPages.Caption = "Èíôîðìàöèÿ î ïðàéñå"
    Set rs = mysql.query("SELECT * FROM Options WHERE option_name='PRICE_DATE'")
    If Not rs.eof Then
        dPriceDate = DateValue(rs!option_value)
    End If
    rs.Close
    
    'producers
    Set rs = mysql.query("SELECT * FROM Producers")
    If Not rs.eof Then rs.MoveFirst
    While Not rs.eof
        
        'update info
        rs2.Open "SELECT * FROM Produces WHERE " & _
            "(((Produces.shortname) = '" & Trim(rs!prod_name) & "'));", cn, adOpenDynamic, adLockOptimistic
        If rs2.eof Then
            rs2.Close
            rs2.Open "Produces", cn, adOpenDynamic, adLockOptimistic
            rs2.AddNew
            rs2!ShortName = rs!prod_name
            rs2!fullname = rs!prod_fulname
            rs2!deleted = False
            rs2.Update
            nProd = rs2!producesid
            rs2.Close
        Else
            rs2!ShortName = rs!prod_name
            rs2!fullname = rs!prod_fulname
            rs2.Update
            nProd = rs2!producesid
            rs2.Close
        End If
        
        'suppliers
        Set rs1 = mysql.query("SELECT * FROM Suppliers")
        If Not rs1.eof Then rs1.MoveFirst
        While Not rs1.eof
            
            'update info
            rs2.Open "SELECT * FROM Supplies WHERE " & _
                "(((Supplies.fullname) = '" & Trim(rs1!sup_name) & "') AND " & _
                "((Supplies.shortname) = '" & Trim(rs1!sup_code) & "'));", cn, adOpenDynamic, adLockOptimistic
            If rs2.eof Then
                rs2.Close
                rs2.Open "Supplies", cn, adOpenDynamic, adLockOptimistic
                rs2.AddNew
                rs2!fullname = rs1!sup_name
                rs2!ShortName = rs1!sup_code
                rs2!deliverytime = rs1!sup_delivery_time
                rs2!prefix = "0"
                rs2!sendto = True
                rs2!deleted = False
                rs2.Update
                nSupp = rs2!suppliesid
                rs2.Close
            Else
                rs2!fullname = rs1!sup_name
                rs2!ShortName = rs1!sup_code
                rs2!deliverytime = rs1!sup_delivery_time
                rs2.Update
                nSupp = rs2!suppliesid
                rs2.Close
            End If
            
            'genprice
            sSql = "SELECT COUNT(*) AS Nr " & _
                "FROM GenPrice " & _
                "WHERE pri_sup_id=" & rs1!sup_id & _
                " AND pri_prod_id=" & rs!prod_id & " "
            Set rs3 = mysql.query(sSql)
            If Not rs3.eof Then
                nMaxim = rs3("Nr").Value
            End If
            rs3.Close
            
            nMin =  0 
            nLimit =  1000 
            If nMaxim <>  0  Then
              While Not nMaxim = nMin
                cn.BeginTrans
                
                sSql = "SELECT GenPrice.pri_code_printed, GenPrice.pri_code_srch, " & _
                    "GenPrice.pri_descr, GenPrice.pri_weight, GenPrice.pri_price, GenPrice.pri_currency " & _
                    "FROM GenPrice " & _
                    "WHERE GenPrice.pri_sup_id=" & rs1!sup_id & _
                    " AND GenPrice.pri_prod_id=" & rs!prod_id & " " & _
                    "LIMIT " & nMin & ", " & nLimit
                Set rs3 = mysql.query(sSql)
                If Not rs3.eof Then
                    rs3.MoveFirst
                    nCount =  1 
                    frmProgress!pbProgress.Value = nCount
                    frmProgress!pbProgress.Max = rs3.RecordCount +  1 
                    frmProgress!lblPages.Caption = "Çàïèñè: " & nMin & "-" & nMin + nLimit & " èç " & nMaxim
                Else
                    nMaxim = nMin
                End If
                While Not rs3.eof
                    
                    'update info
                    rs2.Open "SELECT * FROM Genprice WHERE " & _
                        "(((Genprice.printcode) = '" & Trim(rs3!pri_code_printed) & "') AND " & _
                        "((Genprice.producesid) = " & nProd & ") AND " & _
                        "((Genprice.suppliesid) = " & nSupp & "));", cn, adOpenDynamic, adLockOptimistic
                    If rs2.eof Then
                        rs2.Close
                        rs2.Open "Genprice", cn, adOpenDynamic, adLockOptimistic
                        rs2.AddNew
                        rs2!producesid = nProd
                        rs2!suppliesid = nSupp
                        rs2!srchcode = VoidAnalyse(rs3!pri_code_srch)
                        rs2!printcode = Trim(rs3!pri_code_printed)
                        rs2!Description = Trim(rs3!pri_descr)
                        rs2!Weight = Trim(rs3!pri_weight)
                        rs2!supprice = rs3!pri_price
                        rs2!suppricedate = dPriceDate
                        rs2!addprice = rs3!pri_price
                        rs2!sendto = True
                        rs2!deleted = False
                        rs2.Update
                        rs2.Close
                    Else
                        rs2!srchcode = VoidAnalyse(rs3!pri_code_srch)
                        rs2!printcode = Trim(rs3!pri_code_printed)
                        rs2!Description = Trim(rs3!pri_descr)
                        rs2!Weight = Trim(rs3!pri_weight)
                        rs2!supprice = rs3!pri_price
                        rs2!suppricedate = dPriceDate
                        rs2!addprice = rs3!pri_price
                        rs2.Update
                        rs2.Close
                    End If
                    
                    nCount = nCount +  1 
                    frmProgress!pbProgress.Value = nCount
                    
                    rs3.MoveNext
                Wend
                rs3.Close
                cn.CommitTrans
                
                nMin = nMin + nLimit
              Wend
            End If
            
            rs1.MoveNext
        Wend
        rs1.Close
        
        rs.MoveNext
    Wend
    rs.Close
    
    Set rs = Nothing
    Set rs1 = Nothing
    Set rs2 = Nothing
    Set rs3 = Nothing
    Set mysql = Nothing
    CopyTMPrices = True
    Exit Function
    
'err:
'    Set rs1 = Nothing
'    Set rs2 = Nothing
'    Set mysql = Nothing
End Function
...
Рейтинг: 0 / 0
2 connection string-a
    #34108914
vitaus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с копируемой БД точно все в порядке? Может, упаковать попробовать? Как вариант, можно стандартным образом в SQL Server ее перегнать, и там все попробовать, все-таки надежнее ...
...
Рейтинг: 0 / 0
2 connection string-a
    #34108951
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
                    nCount = nCount +  1 
                    frmProgress!pbProgress.Value = nCount
                    
                    rs3.MoveNext
                Wend
Воткни DoEvents перед rs3.MoveNext.
...
Рейтинг: 0 / 0
2 connection string-a
    #34108961
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А лучше перед каждым Wend, а то во вложенные циклы не всегда заходит.
...
Рейтинг: 0 / 0
2 connection string-a
    #34109280
CLilian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyА лучше перед каждым Wend, а то во вложенные циклы не всегда заходит.
О чудо, работает!
Уважаемый Antonariy а в чем собствено было проблема, я так и не понял?
вот как я изменил код фукции и хочу заметить что nMaxim=9 500 000 записей.

П.С. Подскажите пожайлуста как из ВБ запустить mysqld.exe?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
Private Function CopyTMPrices() As Boolean
    Dim nCount As Long, nProd As Long, nSupp As Long
    Dim dPriceDate As Date, sSql As String, nLimit As Integer, nMin As Long
    Dim nMaxim As Long
    
    Set rs = New ADODB.Recordset
    Set rs2 = New ADODB.Recordset
    
    On Error GoTo err:
    
    frmProgress!lblPages.Caption = "Èíôîðìàöèÿ î ïðàéñå"
    Set rs = mysql.query("SELECT * FROM Options WHERE option_name='PRICE_DATE'")
    If Not rs.eof Then
        dPriceDate = DateValue(rs!option_value)
    End If
    rs.Close
    
    frmProgress!lblPages.Caption = "Êîëè÷åñòâî î çàïèñè"
    Set rs = mysql.query("SELECT COUNT(*) AS Nr FROM Genprice")
    If Not rs.eof Then
        nMaxim = rs("Nr").Value
    End If
    rs.Close
    
    
    'genprice
    nMin =  0 
    nLimit =  500 
    If nMaxim <>  0  Then
        frmProgress!lblPages.Caption = "Àíàëåç ïàðòèè"
        While Not nMaxim < nMin
            sSql = "SELECT " & _
            "Genprice.pri_code_srch, Genprice.pri_code_printed, Genprice.pri_descr, " & _
            "Genprice.pri_weight, Genprice.pri_price, Genprice.pri_currency, " & _
            "Producers.prod_name, Producers.prod_fulname, " & _
            "Suppliers.sup_code, Suppliers.sup_name, Suppliers.sup_delivery_time " & _
            "FROM Suppliers INNER JOIN (Producers INNER JOIN Genprice ON " & _
            "Producers.prod_id = Genprice.pri_prod_id) ON Suppliers.sup_id = " & _
            "Genprice.pri_sup_id " & _
            "LIMIT " & nMin & ", " & nLimit
            Set rs = mysql.query(sSql)
            If Not rs.eof Then
                rs.MoveFirst
                nCount =  1 
                frmProgress!pbProgress.Value = nCount
                frmProgress!pbProgress.Max = rs.RecordCount +  1 
                frmProgress!lblPages.Caption = "Çàïèñè: " & nMin + nLimit & " èç " & nMaxim
            End If
            While Not rs.eof
                '=== Prod ===
                rs2.Open "SELECT * FROM Produces WHERE " & _
                    "(((Produces.shortname) = '" & Trim(rs!prod_name) & "'));", cn, adOpenDynamic, adLockOptimistic
                If rs2.eof Then
                    rs2.Close
                    rs2.Open "Produces", cn, adOpenDynamic, adLockOptimistic
                    rs2.AddNew
                    rs2!ShortName = rs!prod_name
                    rs2!fullname = rs!prod_fulname
                    rs2!deleted = False
                    rs2.Update
                    nProd = rs2!producesid
                    rs2.Close
                Else
                    rs2!ShortName = rs!prod_name
                    rs2!fullname = rs!prod_fulname
                    rs2.Update
                    nProd = rs2!producesid
                    rs2.Close
                End If
                '=== Supp ===
                rs2.Open "SELECT * FROM Supplies WHERE " & _
                    "(((Supplies.fullname) = '" & Trim(rs!sup_name) & "') AND " & _
                    "((Supplies.shortname) = '" & Trim(rs!sup_code) & "'));", cn, adOpenDynamic, adLockOptimistic
                If rs2.eof Then
                    rs2.Close
                    rs2.Open "Supplies", cn, adOpenDynamic, adLockOptimistic
                    rs2.AddNew
                    rs2!fullname = rs!sup_name
                    rs2!ShortName = rs!sup_code
                    rs2!deliverytime = rs!sup_delivery_time
                    rs2!prefix = "0"
                    rs2!sendto = True
                    rs2!deleted = False
                    rs2.Update
                    nSupp = rs2!suppliesid
                    rs2.Close
                Else
                    rs2!fullname = rs!sup_name
                    rs2!ShortName = rs!sup_code
                    rs2!deliverytime = rs!sup_delivery_time
                    rs2.Update
                    nSupp = rs2!suppliesid
                    rs2.Close
                End If
                '=== Genprice ===
                rs2.Open "SELECT * FROM Genprice WHERE " & _
                    "(((Genprice.printcode) = '" & Trim(rs3!pri_code_printed) & "') AND " & _
                    "((Genprice.producesid) = " & nProd & ") AND " & _
                    "((Genprice.suppliesid) = " & nSupp & "));", cn, adOpenDynamic, adLockOptimistic
                If rs2.eof Then
                    rs2.Close
                    rs2.Open "Genprice", cn, adOpenDynamic, adLockOptimistic
                    rs2.AddNew
                    rs2!producesid = nProd
                    rs2!suppliesid = nSupp
                    rs2!srchcode = VoidAnalyse(rs!pri_code_srch)
                    rs2!printcode = Trim(rs!pri_code_printed)
                    rs2!Description = Trim(rs!pri_descr)
                    rs2!Weight = Trim(rs!pri_weight)
                    rs2!supprice = rs!pri_price
                    rs2!suppricedate = dPriceDate
                    rs2!addprice = rs!pri_price
                    rs2!sendto = True
                    rs2!deleted = False
                    rs2.Update
                    rs2.Close
                Else
                    rs2!srchcode = VoidAnalyse(rs!pri_code_srch)
                    rs2!printcode = Trim(rs!pri_code_printed)
                    rs2!Description = Trim(rs!pri_descr)
                    rs2!Weight = Trim(rs!pri_weight)
                    rs2!supprice = rs!pri_price
                    rs2!suppricedate = dPriceDate
                    rs2!addprice = rs!pri_price
                    rs2.Update
                    rs2.Close
                End If
                    
                nCount = nCount +  1 
                frmProgress!pbProgress.Value = nCount
                
                rs.MoveNext
                DoEvents
            Wend
            rs.Close
            
            frmProgress!lblPages.Caption = "Àíàëåç ïàðòèè"
            nMin = nMin + nLimit
            DoEvents
        Wend
    End If
    
    Set rs = Nothing
    Set rs2 = Nothing
    Set mysql = Nothing
    CopyTMPrices = True
    Exit Function
    
err:
    Set rs = Nothing
    Set rs2 = Nothing
    Set mysql = Nothing
    CopyTMPrices = False
End Function
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / 2 connection string-a
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]