Ayuda en RecorCount

Manuel Acosta Aceves
18 de Junio del 2004
Que tal sucede que cuando realizo una intruccion no me cuenta los registros que tengo y deberia hacerlo ya que tengo varios...

esto es lo que estoy haciendo las demas encabezados no los pngo porque ya saben lo que va.


MiConexion.Open

MisRegistros.Open "Clientes", MiConexion, adOpenDynamic, adLockOptimistic

If MisRegistros.RecordCount > 0 Then
MisRegistros.MoveFirst
End If

Cuando depuro el programa, en MisRegistros.REcordcount me dice que es -1 en vez de el numero de registros verdadero que tengo

alguien sabe porque me manda ese numero (-1) Gracias

gamaliel
18 de Junio del 2004
el(-1) cuando la tabla esta vacia otra cosa es que clientes sea una consulta y que este mal hecha este vacia

Manuel Acosta Aceves
18 de Junio del 2004
Ok gracias gamaliel, bueno la tabla no esta vacia, y clientes no es una consulta de hecho la baro completo poruqe mas a futuro le inserto datos, que mas podria ser porque cuando manejaba en Adodc y usaba el REcordcount si me los tomaba en cuenta

bueno dejo escrito lo que hago en total

Set MiConexion = New ADODB.Connection
Set MisRegistros = New ADODB.Recordset
MiConexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " + App.Path & "PEPE.mdb" + ";Persist Security Info=False"
MiConexion.Open

MisRegistros.Open "Clientes", MiConexion, adOpenDynamic, adLockOptimistic



If MisRegistros.RecordCount > 0 Then
MisRegistros.MoveFirst
End If


compara = MisRegistros!CON_SOP

While MisRegistros.EOF = False And Trim(Text1.Text) <> Trim(compara)
MisRegistros.MoveNext
On Error Resume Next
compara = MisRegistros!CON_SOP
Wend

If MisRegistros.EOF = False Then
X = MsgBox("Contraseña Soporte Repetida", vbExclamation, "Imposible Guardar")


Else


insSQL = "INSERT INTO clientes(con_sop, nom_comr, raz_soc,nom_contac, correo) VALUES( '" & _
Trim(Text1.Text) & "', '" & Trim(Text2.Text) & "' , '" & Trim(Text3.Text) & "','" & Trim(Text4.Text) & "' ,'" & Trim(Text5.Text) & "' & '" & Label16.Caption & "' & '" & Trim(Text6.Text) & "' ) "

MiConexion.Execute insSQL


MisRegistros.MoveLast
guarda = MisRegistros!ID_CLIENTES

MisRegistros.Close
Set MisRegistros = Nothing
MiConexion.Close
Set MiConexion = Nothing


Si puedne ayudarme se los agradeceria mucho

programador666
18 de Junio del 2004
A mi tambien se me presento este problema, y no se por que no cuenta estos registros.

Te recomiendo que en vez de pasarle la tabla clientes, le pases la siguiente consulta:

SELECT Count(*) AS Total FROM Clientes

Entonces pasas a preguntar lo siguiente:

if MisRegistros!Total > 0 Then
'lo que quieras que suceda
end if

Con esto si me funcionó a mi, y espero que te funcione a ti tambien.

Cualquier problema, no dudes en preguntar

Saludos