Visual Basic - CONSULTA

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

CONSULTA

Publicado por Inés (31 intervenciones) el 07/08/2007 00:19:52
Buenas tardes, estoy aprendiendo visual por tanto disculpemen si para algunos las preguntas les parecen salidas de entorno, agradezco a las personas que amablemente me contesten.
Estoy estudiando un programa que baje de recursosvisualbasic.com en la parte de modula.bas lo adiciono pero me sale un error el código es el siguiente

Public CN As New Connection
Public RS As New Recordset
Public Sub BD()
CN.Provider = "MICROSOFT.JET.OLEDB.4.0"
CN.Open App.Path + "\SISTEMA BANCARIO.MDB"
End Sub

Public Sub MOVER(R As Recordset, X As Integer)
Select Case X
Case 0: R.MoveFirst
Case 1: R.MovePrevious
If R.BOF Then R.MoveFirst
Case 2: R.MoveNext
If R.EOF Then R.MoveLast
Case 3: R.MoveLast
End Select
End Sub

Public Sub LIMPIAR(F As Form)
Dim C As Control
For Each C In F
If TypeOf C Is TextBox Or TypeOf C Is ComboBox Then C = ""
If TypeOf C Is OptionButton Then C.Value = False
If TypeOf C Is CheckBox Then C.Value = 0
If TypeOf C Is ListBox Then C.Clear
Next
End Sub

Public Function BUSCAR(T As String, CAMPO As String, DATO As String, NCOL As Integer) As String
Dim RSTEMP As New Recordset
SQL = "SELECT*FROM " + T + " WHERE " + CAMPO + "='" + DATO + "'"
Set RSTEMP = CN.Execute(SQL)
If RSTEMP.EOF Then
BUSCAR = " "
Else
BUSCAR = RSTEMP(NCOL)
End If
RSTEMP.Close
End Function

Public Sub COMBO(T As String, C As ComboBox, NCOL As Integer)
Dim SQLC As String
SQLC = "SELECT*FROM " + T
RS.Open SQLC, CN, adOpenDynamic, adLockOptimistic
Do While Not RS.EOF
C.AddItem RS(NCOL)
RS.MoveNext
Loop
RS.Close
End Sub

'Esta función permite hallar la suma de una determinada
'columna dentro de un control Microsoft Hierarchical
'Flexgrid.
Public Function SUMACOLUMNAMHF(NUMEROCOLUMNA As Integer, H As MSHFlexGrid) As Single
Dim ST As Single, I As Integer
ST = 0
For I = 0 To H.Rows - 1
If Not IsNull(H.TextMatrix(I, NUMEROCOLUMNA)) And IsNumeric(H.TextMatrix(I, NUMEROCOLUMNA)) Then
ST = ST + H.TextMatrix(I, NUMEROCOLUMNA)
End If
Next
SUMACOLUMNAMHF = ST
End Function

'Esta función se usa en caso de que el dato a buscar
'se encuentre en un campo del tipo númerico
Public Function BUSCARDATONUM(T As String, CAMPO As String, DATO As String, NCOL As Integer) As String
Dim RSTEMP As New Recordset
SQL = "SELECT*FROM " + T + " WHERE " + CAMPO + "= " + DATO + " "
Set RSTEMP = CN.Execute(SQL)
If RSTEMP.EOF Then
BUSCARDATONUM = " "
Else
BUSCARDATONUM = RSTEMP(NCOL)
End If
RSTEMP.Close
End Function

Me saca error en :
Public CN As New Connection
Public RS As New Recordset
Pero no se donde debo definirlas?.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONSULTA

Publicado por Malandrin (9 intervenciones) el 07/08/2007 16:08:29
Pues parece que no has agregado las referencias a ADO (Menú Proyecto-Referencias-Microsoft ActiveX Data Objects 1.8 Library, o la versión que tengas).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:CONSULTA

Publicado por Inés (31 intervenciones) el 08/08/2007 16:16:49
Malandrin buenos días agregue ese componente y me deja ingresar, gracias por enseñarme. Ahora me saca error en la siguiente línea


RS.Open SQLC, CN, adOpenDynamic, adLockOptimistic que esta en Private Sub COMBO

Qué puede ser o que debo agregar?

Public CN As New Connection
Public RS As New Recordset
Public Sub BD()
CN.Provider = "MICROSOFT.JET.OLEDB.4.0"
CN.Open App.Path + "\BANCARIO.MDB"
End Sub

Public Sub MOVER(R As Recordset, X As Integer)
Select Case X
Case 0: R.MoveFirst
Case 1: R.MovePrevious
If R.BOF Then R.MoveFirst
Case 2: R.MoveNext
If R.EOF Then R.MoveLast
Case 3: R.MoveLast
End Select
End Sub

Public Sub LIMPIAR(F As Form)
Dim C As Control
For Each C In F
If TypeOf C Is TextBox Or TypeOf C Is ComboBox Then C = ""
If TypeOf C Is OptionButton Then C.Value = False
If TypeOf C Is CheckBox Then C.Value = 0
If TypeOf C Is ListBox Then C.Clear
Next
End Sub

Public Function BUSCAR(T As String, CAMPO As String, DATO As String, NCOL As Integer) As String
Dim RSTEMP As New Recordset
SQL = "SELECT*FROM " + T + " WHERE " + CAMPO + "='" + DATO + "'"
Set RSTEMP = CN.Execute(SQL)
If RSTEMP.EOF Then
BUSCAR = " "
Else
BUSCAR = RSTEMP(NCOL)
End If
RSTEMP.Close
End Function

Public Sub COMBO(T As String, C As ComboBox, NCOL As Integer)
Dim SQLC As String
SQLC = "SELECT*FROM " + T
RS.Open SQLC, CN, adOpenDynamic, adLockOptimistic
Do While Not RS.EOF
C.AddItem RS(NCOL)
RS.MoveNext
Loop
RS.Close
End Sub

'Esta función se usa en caso de que el dato a buscar
'se encuentre en un campo del tipo númerico
Public Function BUSCARDATONUM(T As String, CAMPO As String, DATO As String, NCOL As Integer) As String
Dim RSTEMP As New Recordset
SQL = "SELECT*FROM " + T + " WHERE " + CAMPO + "= " + DATO + " "
Set RSTEMP = CN.Execute(SQL)
If RSTEMP.EOF Then
BUSCARDATONUM = " "
Else
BUSCARDATONUM = RSTEMP(NCOL)
End If
RSTEMP.Close
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA

Publicado por Malandrín (9 intervenciones) el 09/08/2007 16:13:49
¿Y qué error es? Para tratar de detectar el problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:CONSULTA

Publicado por Inés (31 intervenciones) el 09/08/2007 17:20:30
Ing. Malandrin gracias por su generosidad, estecorreo también lo envié a ing. Mario, donde les pregunto si es posible una vez termine los formularios que estoy creando enviarselo al correo para que me colabore con su revisión?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA

Publicado por Mario (107 intervenciones) el 09/08/2007 16:56:05
T no debe contener una cadena nula, pues lo que estas pidiendo toda la informacion de una tabla de la base, si no es una cadena nula, asegurate que el nombre que lleve sea el de una tabla q esta en la BD
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONSULTA

Publicado por Inés (1 intervención) el 09/08/2007 17:16:04
Ingeniero Mario buenos días, gracias por responderme, estoy terminando de hacer los formularios y verificando, es posible que cuando acabe lo pueda enviar a su correo y me ayudes a verificar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar