Visual Basic - conexion a dbf

Life is soft - evento anual de software empresarial
 
Vista:

conexion a dbf

Publicado por aldo (111 intervenciones) el 30/01/2007 20:21:16
Hola,
tengo esta conexion a una base de datos en access...

dbAccess.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\mdp.mdb;Persist Security Info=False"

y funciona a las mil maravillas...!
pero tengo esta otra que pretendo hacer una conexion a archivos dbf

DBdbf.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\user2\afiliados\afilia.dbf;Persist Security Info=False"

esta ultima no funciona, me sale un cartel que dice que no encuentra el archivo o que la ruta no es valida, y la realidad es que el path es correcto...
que estoy haciendo mal??
y la conexion que tengo, esta bien hecha???

gracias por su ayuda...
Aldo
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: tampoco funciono con esta conexion

Publicado por aldo (111 intervenciones) el 30/01/2007 20:43:53
sigo probando y tampoco funciono con esta conexion...

dbAccess.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\user2\afiliados\afilia.dbf;" & _
"Extended Properties=""DBASE IV;"";"

aca me tira el siguiente error:

"Error : 3709. No se puede utilizar la conexion para realizar esta operacion. Está cerrada o no es valida en este contexto"

cuando se detiene el programa y hago una consulta en la ventana inmediato para ver el string que trae el dbaccess (el nombre de la conexion), veo que esta vacia...
como puede ser?? ya que esta conexion la tengo en un modulo sub llamado AbrirBase y al ejecutar el programa NO me tira el error, sino cuando desde un formulario llamo al recordset.

alguien me podria ayudar...?
gracias
Aldo
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: tampoco funciono con esta conexion

Publicado por Miguel (13 intervenciones) el 31/01/2007 13:04:27
Te paso un ejemplo de conexión, pero para usarlo tienes que bajarte el OLE DB Provider for visual FoxPro (es gratuito y lo distribuye Microsoft)

'En declaraciones
Dim Conn As String
Dim Conexion As String
Dim Ruta As String

'En un sub
Sub Conectar()
On Error GoTo Conectar_Error

Ruta = App.Path & "\Database.dbc"

Conexion = "Provider=VFPOLEDB.7;Persist Security Info=False;Data Source=" & Ruta & ";Password='';Collating Sequence=MACHINE"

Set Conn = New ADODB.Connection

Conn.ConnectionString = Conexion
Conn.Open Conexion

On Error GoTo 0
Exit Sub

Conectar_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Conectar of Formulario Form1"
End Sub

Espero te sirva
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: tampoco funciono con esta conexion

Publicado por aldo (111 intervenciones) el 31/01/2007 13:46:33
Gracias Miguel...!
el tema es que yo uso foxpro 2.6 para unix, y me quiero conectar a un servidor con samba.
No utilizo el visual foxpro...

gracias por tu tiempo, y disculpame que no lo haya aclarado en mi pregunta.

un saludo desde Buenos Aires, Argentina
Aldo
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: tampoco funciono con esta conexion

Publicado por no (1 intervención) el 21/02/2007 16:23:46
sasasa yacuza yacuza
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: ahora puedo pero me sale otro error

Publicado por aldo (111 intervenciones) el 31/01/2007 15:30:49
Hola...
ahora puedo hacer la conexion pero me sale otros errores al tratar de mostrar los datos en la grilla con msflexgrid
paso a detallar...

tengo en el modulo bas la siguiente conexion...

Global dbAccess As New Connection

Sub AbrirBase()
On Error GoTo ControlError

Set dbAccess = New Connection

dbAccess.Provider = "Microsoft.Jet.OLEDB.4.0"
dbAccess.ConnectionString = "Data Source=c:\user2\audkin"
dbAccess.Properties("Extended Properties") = "dBASE 5.0;"
dbAccess.Open

Exit Sub

ControlError:
Select Case Err.Number
Case -2147467259
MsgBox "Compruebe que exista el archivo de datos .mdb o que esté ubicado en la carpeta correspondiente.", vbCritical
End
Case Else
MsgBox "Error : " & Err.Number & ". " & Err.Description ' Evalúa el número de error.
End
End Select
Exit Sub
Resume
End Sub

y el formulario donde creo el recordset es el siguiente

Dim rsAyu As ADODB.Recordset

Set rsAyu = New Recordset
rsAyu.Open "select * from prestad where numero<>0 order by numero", dbAccess, adOpenStatic, adLockReadOnly

me tira dos errores distintos, a veces uno y otras veces el otro...
los errores son los sig.

"Error: -214746 7259. El sistema operativo no admite la secuencia de ordenacion seleccionada."

"Error: -2147217904. No se han especificado valores para algunos de los parametros requeridos"

ahora, no tengo ni idea porque a veces me sale uno y en otras ocaciones me sale el otro.
Solo quiero tomar una tabla en dbf y mostrarlos en una grilla con msflexgrid.

si alguien me puede ayudar, lo agradecere.
saludos
Aldo
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: ahora puedo pero me sale otro error

Publicado por Miguel (13 intervenciones) el 31/01/2007 15:59:31
Intenta ejecutar la misma consulta desde la base de datos para ver si te arroja el error

select * from prestad where numero<>0 order by numero
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: ahora puedo pero me sale otro error

Publicado por aldo (111 intervenciones) el 31/01/2007 16:22:43
Miguel...
hice la consulta desde el foxpro y no me tiro ningun error...

select * from prestad
select * from prestad where numero<>0
select * from prestad where numero<>0 order by numero

todas anduvieron ok

que sera??
gracias por tu preocupacion...

un abrazo
Aldo
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: ahora puedo pero me sale otro error

Publicado por Daniel (145 intervenciones) el 31/01/2007 23:06:54
fijate en este enlace que tienen para varias.
Espero alguna te sirva
saludos
http://www.carlprothman.net/Default.aspx?tabid=81
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