FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
como obtener el recno de una tabla access
Hola compañeros
quisiera saber como se puede obtener el numero de registro de una tabla BDE conectada a una base de datos en access ya que al pedir el recno me manda -1 x:= table1.recno; resultado = -1 de antemano gracias a todos |
#2
|
||||
|
||||
Buenas!
Yo lo he probado con query, pero supongo que la tabla también tendrá esa propiedad.
Espero que te sirva para solucionar el problemilla. Saludos!!!!
__________________
De lo bueno lo mejor, de lo mejor lo superior. |
#3
|
|||
|
|||
Gracias Weke
pues ya probe con un query y me regresa el mismo -1 no se si haya algo que hacer en especial en las tablas para que regresen el numero de registro. |
#4
|
||||
|
||||
Creo recordar que en ADO la propiedad RecNo solo funciona con un cursor de tipo clStatic o clDynamic. Qué tipo de cursor tienes en tu tabla/query?
|
#5
|
|||
|
|||
Estoy usando BDE no ADO y eso del cusrsor mmmmm no estoy seguro
¿donde puedo checarlo? Gracias |
#6
|
||||
|
||||
Hola,
perdona, supuse (erróneamente) que al usar access también utilizarías ADO. Si mal no recuerdo en BDE sólamente puedes trabajar con cursores cliente, y de hecho tampoco tendría mucho sentido en Access dado que no es un motor cliente/servidor. (lo que pasa que al conectarte a Access via ADO puedes cambiar el tipo de cursor, lo cuál haría que te funcionase o no la propiedad RecNo) Bueno, no me enrollo más... Creo recordar que no todos los drivers, y menos los de BDE, soportan correctamente la propiedad RecNo. Simplemente podría ser que estuviese pasando eso. Te propongo una prueba. Por qué no intentas acceder a una tabla Paradox y lo pruebas? En Paradox incluso puedes posicionarte en un registro determinado asignando un valor a la propiedad RecNo. A ver si es eso... Un saludo! |
#7
|
||||
|
||||
Por si interesa. Acabo de hacer pruebas y es tal como dice marcsc. Con BDE no funciona (mejor sería decir, no está implementada) la propiedad RecNo pero con ADO funciona perfectamente.
// Saludos |
#8
|
|||
|
|||
Gracias marcsc
si en paradox si funciona el problema es que se bloquean muy facilmente las tablas y pierden integridad por eso emigre a access, esperando que funcionara mejor pero ya veo algunas limitantes, ¿habra alguna otra base de datos donde funcionen bien los punteros como en paradox? o alguna forma de saber en que registro estoy parado en la base de datos |
#9
|
|||
|
|||
Yo siempre he utilizado un campo autonumerico cuando trabajaba con access. Es lo más sencillo excepto si borras registros por enmedio, entonces se fastidia la cosa.
|
#10
|
||||
|
||||
Hola de nuevo,
los problemas que comentas son los típicos de Paradox. Se sobrevive a ellos gracias a algunas utilidades que existen (y que imagino que conoces) . De todos modos yo prefiero Access a paradox... Lo que no me gusta demasiado es BDE. No tienes la posibilidad de pasarte a ADO? Tampoco nos engañemos, ADO dista de ser perfecto, pero, una vez más, lo prefiero a BDE. Con Access lo he probado en alguna aplicación pequeña y no he tenido problemas. Sobre lo de saber la posición del registro en la tabla... Pues depende de la situación. Iterando sobre la tabla te será fácil saber el número de registro. Suponiendo que la tengas enlazada a un DBGrid, también puedes hacer alguna chapuzilla para saber la fila del DBGrid en la que te encuentras y quizás pueda servirte. También puedes montarte algún tipo de SQL. Si nos pones un poco en antecedentes quizás podamos darte alguna solución. Independientemente de esto, puedes considerar el cambio de BDE a ADO que (en mi opinión) ya es una mejora. Saludos. EDIT: Se me olvidaba! Roman, gracias por tu verificación empírica Última edición por __marcsc fecha: 04-06-2004 a las 22:48:33. |
#11
|
|||
|
|||
Cambiar a ADO es muiy dificil puesto que tengo poco conocimiento de su manejo y ademas ya tengo mucho desarrollo en BDE y bueno lo que estoy haciendo es ABC de una base de datos donde al dar doble click en un grid me abre la pantalla de actualizacion del registro pero debo de verificar que no se repita el nombre de un dispositivo.
|
#12
|
||||
|
||||
Bueno, como todo nuevo en esta vida, al principio cuesta más que lo que ya conoces, pero ADO es una tecnología que no tiene nada de particular y que, una vez te sabes los dos o tres truquillos, no tiene nada de difícil.
Evidentemente yo no estoy hablando de pasar lo que ya tienes a ADO, lo que digo es que si tienes que empezar algun proyecto nuevo, puedes plantearte utilizarlo. Con ésto no quiero convencerte de nada, simplemente te comento que, en mi experiencia personal, el cambio de BDE a ADO ha sido muy positivo. Un saludo |
#13
|
|||
|
|||
Hola:
No sé si te sirva pero a mi me ha pasado con BDE que el número de registros que tiene el DataSet me regresa -1, yo lo he arreglado (pero esto no es muy eficiente que digamos) haciendo lo siguiente: Código:
... query.open; query.last; x:= query.RecordCount; ... Espero te sirva de algo Saludos a todos
__________________
Ernesto R. |
#14
|
|||
|
|||
Grcacias marcsc ya cambie a ADO el sistema y no represento gran problema
ademas de que funciona mucho mejor y mas rapido Te agradezco la atencion y los tips |
|
|
|