Programación General > Visual Basic 6.0 e inferiores

 Eliminar Registros En Access

<< < (2/2)

Sagutxo:
Salu2.


--- Código: Text ---DBEngine.CompactDatabase PathDeBaseACompactar, NuevaBaseCompactada, dbLangGeneral, , PassDb 
Luego solo tendras que borrar la DB vieja y renombrar la DB nueva.

   Tambien podrías crear antes un .zip de la DB vieja por si acaso :) el proceso no fuera bien.

Espero que te funcione, a mi si :)

 :smartass:  :comp:  :smartass:

cpmario:
Te djunto el código que utilizo para compactar y reparar la base de datos en DAO


--- Código: Text ---Sub CompactDbase(sDbase As String, Aviso As Boolean)     Dim sBakDb As String     Dim db As Database     On Error Resume Next     If sDbase &#60;&#62; &#34;&#34; Then          Screen.MousePointer = vbHourglass          'try and open it in exclusive mode          Set db = OpenDatabase(sDbase, True)          If Err = 0 Then                'opened ok so close it                db.Close                'construct the correct .bak filename                sBakDb = Left&#036;(sDbase, InStr(sDbase, &#34;.&#34;)) & &#34;BAK&#34;                'give a chance to exit                If Aviso Then                     gstrMsg = &#34;Su base de datos &#34; & sDbase & vbCrLf & &#34; se copiará. &#34; & sBakDb                     If MsgBox(gstrMsg, vbOKCancel + vbExclamation, &#34;Compactando la Base de Datos&#34;) = vbCancel Then                          Screen.MousePointer = vbDefault                          Exit Sub                     End If                End If                'kill any existing .bak                If ExistFilename(sBakDb) Then                    Kill (sBakDb)                End If                If Err &#60;&#62; 0 Then Err = 0 'err because no existing .bak                'copy original to sBakdb                FileCopy sDbase, sBakDb                If Err &#60;&#62; 0 Then                     'call the generic error handler                     GenErrorHandler &#34;copiado de &#34; & sDbase & &#34; a &#34; & sBakDb, Err, Error                     Screen.MousePointer = vbDefault                     Exit Sub                End If                      'kill the existing database because can't compact into an existing one                If ExistFilename(sDbase) Then                    Kill (sDbase)                End If                DoEvents                If Err = 0 Then                     'deleted ok so compact it                     'DBEngine.RepairDatabase sBakDb                     DBEngine.CompactDatabase sBakDb, sDbase, dbLangGeneral, dbDecrypt                     If Err &#60;&#62; 0 Then                          'call the generic error handler                          GenErrorHandler &#34;compactado de la base de datos&#34;, Err.Number, Err.Description                          Err = 0                          'copy bakdb to original                          FileCopy sBakDb, sDbase                          If Err &#60;&#62; 0 Then                                'call the generic error handler                                GenErrorHandler &#34;Error en copiado de &#34; & sBakDb & &#34; a &#34; & sDbase, Err.Number, Err.Description                                Screen.MousePointer = vbDefault                                Exit Sub                          End If                     Else                            If Aviso Then                                  MsgBox &#34;Reparación y compactación completa.&#34;, vbOKOnly + vbExclamation, App.Title                            End If                     End If                Else                End If          Else                'call the generic error handler                GenErrorHandler &#34;intento de abrir la base de datos de manera exclusiva.&#34;, Err, Error          End If     End If     Screen.MousePointer = vbDefaultEnd Sub Espero te sirva.
 :comp:

elmango80:
Muchas gracias por la informacion Sagutxo... ya me iba a poner a probar lo que me dijiste cuando vi que cpmario me habia mandado el codigo completo... Bueno gracias por la ayuda y ya sabia yo que por aqui iba a encontrar la solucion de mis problemas como siempre....

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa