• Lunes 18 de Noviembre de 2024, 06:38

Autor Tema:  Problemas Con Bases Dao Y Ado  (Leído 2999 veces)

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Problemas Con Bases Dao Y Ado
« en: Viernes 2 de Diciembre de 2005, 14:03 »
0
hola a todos espero que esten muy bien
bueno les cuento:
   tengo el siguiente problema tengo una base de datos access 97 la cual tiene como 5 tablas es algo bien chico pero super util y resulta que esta tabla se encuentra en un servidor y estoy diseñando una aplicacion que lea esta bases y por ejemplo tengo la tabla maestro la cual funciona con un indice auto numerico y siempre leo el ultimo registro para tomar el valor y sumarle uno para agregar uno nuevo, por ejemplo el ultimo en la tabla es "Folioatencion" y su valor es "2001" si yo quiero agregar uno nuevo le sumo uno osea seria "folioatencion" y su valor es "2002" esto funcionaba super bien pero la ultima ves que descargue la base de datos ya no puedo tomar el ultimo valor del folioatencion el codigo de busqueda es el siguiente

 Private Sub Form_Load()
 Set a = OpenDatabase(App.Path & "\bd1.mdb")
 Set b = a.OpenRecordset("maestro_atenciones")
 If b.RecordCount = 0 Then
     MsgBox "No Existen Registros", vbInformation, "Por Favor Ingrese"
 Else
     b.MoveLast
 End If
 Dim folio As Integer
 folio = Val(b.Fields("folio_atencion"))
 Text1.Text = Val(Text1.Text) + folio
 Text1.Text = Val(Text1.Text) + 1
 end sub

y supuestamente deberia funcionar por favor si alguien me puede ayudar o no entendio lo que trate de explicar que escriba aqui y le constesto please,
muchas gracias a todos por su ayuda adios
 :comp:
Un Tigre Nunka Kambia Sus Rayas

Sagutxo

  • Miembro MUY activo
  • ***
  • Mensajes: 320
    • Ver Perfil
Re: Problemas Con Bases Dao Y Ado
« Respuesta #1 en: Viernes 2 de Diciembre de 2005, 14:10 »
0
Salu2. Yo solo comento, Parece que lo que quieres es un contardor. En mi caso siempre tengo una tabla dedicada exclusivamente a contadores.

   ¿No te sería mas fácil?
 :blink:
Suerte.
Mi mujer tiene un físico bárbaro!!!. Einstein.

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Problemas Con Bases Dao Y Ado
« Respuesta #2 en: Viernes 2 de Diciembre de 2005, 15:52 »
0
Hola neorent  :hola: ...pienso que antes de preguntar por el recordcount=0 deberias posicionarte en el ultimo registro para que la cuenta sea correcta.. :) ...
osea..algo asi:

Código: Text
  1. Private Sub Form_Load()
  2.     Set a = OpenDatabase(App.Path & "\bd1.mdb")
  3.     Set b = a.OpenRecordset("maestro_atenciones")
  4.     b.MoveLast
  5.     If b.RecordCount = 0 Then
  6.            MsgBox "No Existen Registros", vbInformation, "Por Favor Ingrese"
  7.     End If
  8.     Dim folio As Integer
  9.     folio = Val(b.Fields("folio_atencion"))
  10.     Text1.Text = Val(Text1.Text) + folio
  11.     Text1.Text = Val(Text1.Text) + 1
  12. end sub
  13.  

Prueba con eso y me cuantas.. ;) ..suerte..nos vemos.. :hola:  :comp:..y espero que tengas una Feliz Navidad y un Prospero Año Nuevo.. :angel:
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas Con Bases Dao Y Ado
« Respuesta #3 en: Viernes 2 de Diciembre de 2005, 21:20 »
0
Yo tuve problemas con un campo de indice auto numérico, que ya no quiso avanzar el índice, pero fue con DAO, cuando pasé la base de datos de Office 97 (Access Jet 3.5) a Office 2000 (Access Jet 3.6)

Si este puede ser tu problema, busca en Microsoft o Google lo referente al artículo con el siguiente número: Q202117


---------------------------------------------

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Problemas Con Bases Dao Y Ado
« Respuesta #4 en: Lunes 5 de Diciembre de 2005, 14:53 »
0
Cita de: "eliza_marti"
Hola neorent  :hola: ...pienso que antes de preguntar por el recordcount=0 deberias posicionarte en el ultimo registro para que la cuenta sea correcta.. :) ...
osea..algo asi:

Código: Text
  1. Private Sub Form_Load()
  2.     Set a = OpenDatabase(App.Path & "\bd1.mdb")
  3.     Set b = a.OpenRecordset("maestro_atenciones")
  4.     b.MoveLast
  5.     If b.RecordCount = 0 Then
  6.            MsgBox "No Existen Registros", vbInformation, "Por Favor Ingrese"
  7.     End If
  8.     Dim folio As Integer
  9.     folio = Val(b.Fields("folio_atencion"))
  10.     Text1.Text = Val(Text1.Text) + folio
  11.     Text1.Text = Val(Text1.Text) + 1
  12. end sub
  13.  

Prueba con eso y me cuantas.. ;) ..suerte..nos vemos.. :hola:  :comp:..y espero que tengas una Feliz Navidad y un Prospero Año Nuevo.. :angel:
mira probe lo que me decia pero es algo extraño no se que le ocurre pk hay veces que ejecuto y me muestra la cantidad de registro, y lo que yo necesito es el valor que contenga el ultimo registro pero ejemplo la llave de esta tabla la cual tengo el problema es autonumerica y busco el ultimo registro por ejemplo 2001 y le sumo 1 para que me de un registro nuevo y seria 2002 pero lo que ahora tengo problema es que no puedo rescatar ese ultimo valor no se si me explico osea si la tabla me muestra que el ultimo valor es 2001 y la aplicacion me muestra que ultimo valor es 1998 osea no me esta contando esos 3 registros faltantes no se si me entiendes y el problema ademas es que si yo sigo ingresando en la base de datos esto no aumenta osea si ya he ingresado por eje. 2006 aun sigue mostrando la aplicacion que estoy en 1998 si me pueden ayudar se los agradeceria mucho ya tengo inflamadas mis neuronas jajajajaa bueno cualquier ayudita sirve se los agradesco un saludo a todos que esten muy bien adios
Un Tigre Nunka Kambia Sus Rayas

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Problemas Con Bases Dao Y Ado
« Respuesta #5 en: Lunes 5 de Diciembre de 2005, 15:00 »
0
Cita de: "cpmario"
Yo tuve problemas con un campo de indice auto numérico, que ya no quiso avanzar el índice, pero fue con DAO, cuando pasé la base de datos de Office 97 (Access Jet 3.5) a Office 2000 (Access Jet 3.6)

Si este puede ser tu problema, busca en Microsoft o Google lo referente al artículo con el siguiente número: Q202117


---------------------------------------------
si es ese el problema pero sabes yo no he migrado la base de datos sigue estando en access 97 asiq eu no entiendo cual podria ser la razon pero se estanco y no quiere avanzar igual pense que podia haberse descargado mal desde el servidor pero no la he descargado como 10 veces y el problema persiste igual me gustaria saber cuales son la referencias necesarias pk quizas puede ser una referencia que este faltando creo no se pk ahora le dio por mandar un error de.

No coinciden los tipos (Error 13)
y cuando depuro me marca esta linea de codigo
Set b = a.OpenRecordset("tabla_tecnicos")
no se porque pero creo que es pk falta una referencia
si me pueden ayudar se los agradeceria muchisimo que esten bien adios
Un Tigre Nunka Kambia Sus Rayas

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Problemas Con Bases Dao Y Ado
« Respuesta #6 en: Lunes 5 de Diciembre de 2005, 15:00 »
0
mmmm  :huh:
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[

neorent

  • Miembro MUY activo
  • ***
  • Mensajes: 249
    • Ver Perfil
    • http://www.laestokada.cl
Re: Problemas Con Bases Dao Y Ado
« Respuesta #7 en: Lunes 5 de Diciembre de 2005, 15:08 »
0
Cita de: "eliza_marti"
mmmm  :huh:
yo tambien estoy asi  :huh: si quieres me envias un correo a mi mail y te envio la aplicacion con la base y la analisas y me cuentas que te parece¿?
neorent@gmail.com
 :comp:
gracias
Un Tigre Nunka Kambia Sus Rayas

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas Con Bases Dao Y Ado
« Respuesta #8 en: Lunes 5 de Diciembre de 2005, 22:03 »
0
Si el problema puede ser el contador entonces trata con esta rutina:
Código: Text
  1.  
  2. Private Sub FixIDCounter()
  3.     Dim dbConsulta As Database
  4.     Dim lngIDPacID As Long
  5.     Dim strMainIDQry As String
  6.     Dim rsID As Recordset
  7.     On Error GoTo ErrorFixIDCounter
  8.     Set dbConsulta = DBEngine.OpenDatabase(gstrDBFilenameHist, False, False, ";Pwd=" & gstrPG)
  9.     strMainIDQry = "SELECT * FROM Identificacion"
  10.     Set rsID = dbConsulta.OpenRecordset(strMainIDQry, dbOpenDynaset)
  11.     rsID.MoveLast
  12.     lngIDPacID = rsID("IDPac")
  13.     rsID.Close
  14.     strMainIDQry = "ALTER TABLE Identificacion ALTER COLUMN IDPac COUNTER (" & lngIDPacID + 1 & ",1)"
  15.     dbConsulta.Execute strMainIDQry, dbFailOnError
  16. Exit Sub
  17. ErrorFixIDCounter:
  18.     gstrMsg = "Existe error al reparar el contador automático de la base de datos."
  19.     MsgBox gstrMsg, vbInformation, gstrAppTitle
  20. Exit Sub
  21. End Sub
  22.  

Esta rutina repara el contador, cambia las variables para que se ajusten a tu programa. Está diseñada para una base de datos con contraseña, retira la contraseña si tú no la usas.

Espero te sirva..
 :comp:

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Problemas Con Bases Dao Y Ado
« Respuesta #9 en: Lunes 5 de Diciembre de 2005, 22:07 »
0
Citar
No coinciden los tipos (Error 13)
y cuando depuro me marca esta linea de codigo
Set b = a.OpenRecordset("tabla_tecnicos")
Por otra parte verifica que tipo de variable es 'b' debe ser Recorset, o algo parecido. No colocas el resto del código.
 :comp: