Dim Conn
Dim Rst1
Dim Rst2
Dim Rst3
Dim Cmd
Private Sub Command1_Click()
Dim pass
Set Conn = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Set Cmd = CreateObject("ADODB.Command")
On Error GoTo erlabel1
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then
MsgBox "Âû íå çàïîëíèëè âñå ïîëÿ", vbOKOnly, ""
Exit Sub
Else
End If
pass = "Provider=OraOLEDB.Oracle;Data Source=" & Text3.Text & ";User ID=" & Text1.Text & ";Password=" & Text2.Text & ";"
Conn.Connectionstring = pass
Conn.open
'Conn.CursorLocation = 3
'Cmd.ActiveConnection = Conn
'Cmd.CommandType = 1
'Cmd.Properties("PLSQLRSet") = True
Me.Hide
Form1.Label1.Caption = pass
Form5.Label20.Caption = pass
Form6.Label1.Caption = pass
Form1.Show
Conn.Close
If raknagoresvistnet = True Then
erlabel1: MsgBox "Îøèáêà ó÷åòíîé çàïèñè. Ïðîèçâåäèòå ïîâòîðíûé ââîä äàííûõ ëèáî îáðàòèòåñü ê àäìèíèñòðàòîðó. ", vbOKOnly, "Îøèáêà ó÷åòíîé çàïèñè"
Text2.Text = ""
Else
End If
End Sub
А затем на другой форме юзаю такой вот код
для вызова и получения в листбокс параметров ф-ции:
Conn.open
Conn.CursorLocation = 3
Cmd.ActiveConnection = Conn
Cmd.CommandType = 1
Cmd.Properties("PLSQLRSet") = True
'Cmd.CommandText = "{CALL find_faceacount(" & Val(Text1.Text) & ") }"
Cmd.CommandText = "{CALL find_subscribers(" & Text1.Text & ", " & Text2.Text & ") }"
Set Rs = Cmd.Execute
Cmd.Properties("PLSQLRSet") = False
While Not Rs.EOF
'List1.AddItem Rs("faceaccnt")
List1.AddItem Rs("telnumber") & " | " & Rs("faceaccnt") & " | " & Rs("sname") & " | " & Rs("ssurname") & " | " & Rs("sfname") & " | " & Rs("saddress") & " | " & Rs("installdoc") & " | " & Rs("tp_name")
Label2.Caption = Label2.Caption + 1
Rs.MoveNext
Wend
Conn.Close
В чем же может быть ошибка? А ошибка такая:
у функции в СКЛ входные параметры varchar2(оба), Высик же срезает у чисел начальные нули. т.е. 0000071 не проходит, а 2222222 - запросто. Как это лечить?
ЗЫ: ответ нужен быстрее, прогу ждет шеф =))
Ответить
|