ebolo | |
| 2007-03-09 12:11 - Respuestas: 9 - Tema nº: 2438549
Si el campo de la bd es de tipo texto lo tienes que pasar como texto, es decirt entre comillas simples:
Set rs = base.Execute(\"select * from Tabla1 where telefono =\'\" & tel & \"\'\")
esto \'\" es comilla simple comilla doble
\"\'\" es comilla doble comilla simple comilla doble
de esta forma se pasan textos a cadenas de SQL.
El error que te aparece es simplemente por eso, pórque esta esperando un cmpo de texto y se la pasas como nº.
En cuanto al datareport yo no lo suelo usar, para informes uso los de access.
Siempre que abras una instancia a una bd tienes que cerrarla:
[code]
Dim tel As Double
nom = "maria"
Set rs = base.Execute("select * from Tabla1 where nombre='" & nom & "'")
If rs.EOF = False Then 'esto se podría poner como IF not rs.eof then
Set DataReport1.DataSource = rs
DataReport1.Show
End If
'esto siempre se debe poner
rs.close
Set rs=nothing
[/code]
[Mensaje editado por ebolo con fecha: 09-03-2007 12:13:08]. | |
|
|
ebolo | |
|
Re: Problemas con comando shell-ayuda - 2007-03-09 12:15 - Respuesta 7
puedes probar a hacerlo de ésta forma:
Código:
Dim tel As Double
nom = "maria"
Set rs = base.Execute("select * from Tabla1 where nombre='" & nom & "'")
If rs.EOF = False Then 'esto se podría poner como IF not rs.eof then
Set DataReport1.DataSource = rs
'esto siempre se debe poner
rs.close
Set rs=nothing
DataReport1.Show
End If
| |
|
|
Kare | |
|
Re: Problemas con comando shell-ayuda - 2007-03-10 04:55 - Respuesta 8
para la consulta ya quedó, sólo la modifiqué y le puse las comillas como me dijiste, te lo agradezco mucho!!!
Ahora donde estoy atorada es cuando cierro el registro, ya lo intenté con el codigo que me pasaste pero no me muestra el reporte y me aparace un msg que dice: "la operación no es permitida cuando el objeto está cerrado" y de hecho es lógico lo que me dice, pero en que evento lo dejo porque lo tengo que cerrar ya que que si no lo cierro, cuando pretendo nuevamente abrirlo me marca un error.
Oye y tengo una duda respecto a esto, como te comenté estoy trabajando con una base de datos distribuida, y me gustaria para obtener los reportes sólo hacer una consulta (sólo lectura), sin tener que abrir la base de datos, no se si me explico... se puede???
| |
|
|
ebolo | |
|
Re: Problemas con comando shell-ayuda - 2007-03-10 09:48 - Respuesta 9
Hola, puedes probar a abrir un recordset y pasarle el recordset al datareport; no sé si funcionará como te he comentado nunca he usado el datareport.
Código:
Dim cn As ADODB.Connection, rs As ADODB.Recordset
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
'Para bd de access
cn.Open "Provider=Microsoft.Jet.Oledb.4.0; Data Source=tubd.mdb"
'De esta forma se abre en forma sólo lectura
rs.Open consulta, cn ,adOpenStatic,adLockReadOnly
.....
rs.close
set rs=nothing
cn.close
set cn=nothing
Saludos.
| |
|
|
Kare | |
|
Re: Problemas con comando shell-ayuda - 2007-03-13 17:10 - Respuesta 10
Gracias ebolo, probé con el codigo que me pasaste pero sigo igual no puedo abrir la base de datos para realizar la siguiente operación porque me dice que ya está abierta y esto es solo cuando utilizo los reportes. De todas maneras te agradezco mucho tu ayuda... y pues le voy a seguir buscando...
Saludos! | |
|
|
|