Visual Basic - No da error la funcion Boton Click

Life is soft - evento anual de software empresarial
 
Vista:

No da error la funcion Boton Click

Publicado por Ana (7 intervenciones) el 17/02/2011 14:15:09
La siguiente funcion me da error en el with al recuperar el resultado de la select. Por otro lado cuando me da el error pongo el raton encima de RsBuscar y me dice q esta vacio. Esto no puede ser porque antes saco la sentencia sql y yo la veo correcta. De momento estoy provando a sacar solo un resultado que coincida con el where, cuando lo resuelva lo modificare para sacar varios resultados.
Lo que quiero conseguir es que habiendo realizado un formulario en access que me carga en combos el nombre del cliente y la dirección, realizando una busqueda con la sección que elija en las combos, me saque el identificador de cliente (campo clave) que tiene éste en la tabla clientes.

Por favor, ayudadme porque me estoy volviendo loca.

Muchas gracias.

Private Sub Buscar_Ultimo_Contrato_Click()

Dim SentenciaSQL As String
Dim RsBuscar As Recordset
Dim BD As Database
Dim Identificador As String

SentenciaSQL = "SELECT IdCliente FROM CLIENTES WHERE "
If Buscar_Nombre_Cliente <> "" Then
SentenciaSQL = SentenciaSQL & " Nombre_Cliente='" & Buscar_Nombre_Cliente & "'"
End If
If Buscar_Tipo_Via <> "" Then
SentenciaSQL = SentenciaSQL & " or Tipo Via=" & Buscar_Tipo_Via
End If
If Buscar_Direccion_Cliente <> "" Then
SentenciaSQL = SentenciaSQL & " or Direccion=" & Buscar_Direccion_Cliente
End If
If Buscar_Num <> "" Then
SentenciaSQL = SentenciaSQL & " or Num=" & Buscar_Num
End If

MsgBox SentenciaSQL
Set BD = OpenDatabase("D:\base_datos\clientes_empresa.mdb")
Set RsBuscar = BD.OpenRecordset(SentenciaSQL, dbOpenForwardOnly)
With RsBsucar
Identificador = .Fields("IdCliente")
End With
MsgBox Identificador

End Sub
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
sin imagen de perfil
Val: 119
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:No da error la funcion Boton Click

Publicado por Christian (713 intervenciones) el 17/02/2011 19:34:24
Ana seguramente vos usaste una conexion del tipo DAO y has agregado dicha referencia. Como no estoy tan familiarizado con eso , te propongo que utilices ADO la referencia es Microsoft ActiveX Data Object y pruebes con este codigo

sino fijate la similtud y arregla el tuyo

Sub consulta()
Dim RsBuscar As New ADODB.Recordset
Dim BD As New ADODB.Connection
Dim Identificador As String

SentenciaSQL = "SELECT IdCliente FROM CLIENTES WHERE "
If Buscar_Nombre_Cliente <> "" Then
SentenciaSQL = SentenciaSQL & " Nombre_Cliente='" & Buscar_Nombre_Cliente & "'"
End If
If Buscar_Tipo_Via <> "" Then
SentenciaSQL = SentenciaSQL & " or Tipo Via=" & Buscar_Tipo_Via
End If
If Buscar_Direccion_Cliente <> "" Then
SentenciaSQL = SentenciaSQL & " or Direccion=" & Buscar_Direccion_Cliente
End If
If Buscar_Num <> "" Then
SentenciaSQL = SentenciaSQL & " or Num=" & Buscar_Num
End If

BD.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\base_datos\clientes_empresa.mdb;Persist Security Info=False"

BD.Open

RsBuscar.Open SentenciaSQL, BD, adOpenDynamic, adLockOptimistic

Do While RsBuscar.EOF
Identificador = RsBuscar.Fields("IdCliente").Value
RsBuscar.MoveNext
Loop

RsBuscar.Close
BD.Close
Set RsBuscar = Nothing
Set BD = Nothing
End Sub
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:No da error la funcion Boton Click

Publicado por Ana (7 intervenciones) el 17/02/2011 19:45:59
Gracias Christian, lo pruebo y te cuento.

Un saludo.
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:No da error la funcion Boton Click

Publicado por Ana (7 intervenciones) el 18/02/2011 11:38:47
Que contenta estoyyyyyyyyyyyyy, muchas gracias Christian, no te imaginas como me has ayudado, estoy super feliz estoy super feliz, jajajaja.
Graciasssssssssss.
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