| 
 | 
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ?  А я думал что Access идеален во всем, а оказывается не совсем. Рассмотрите запрос: Код: sql 1. это выборка за указанный период. Что не играет ? Все играет. Свет несколько раз выключился без предупреждения (упс не успел поставить) и база данных начала хандрить. В пределах выбранного дня (((First(Chek.DateTime))>=#11/7/2013 7:0:0# And (First(Chek.DateTime))<=#11/8/2013 6:0:0#)) чек под номером 442 выдавал суму (поле Sum([Kst]*[cinazamovl]) AS Suma ) на 2грн больше чем положено, а если в HAVING поставить Chek.id=442, тогда все нормально. Визуально я не увидел ничего чтобы могло быть неверно. Но глюк оставался. Также есть поле "Вынесли на стол" ( Count([PodaliStravu])+Sum([PodaliStravu]) AS PodaliNaStil ) , которая показывала (NOT 0). Технологию такую использовал, потому что удобно, так как поле_as_boolean принимает значение 0 или -1. Count считает всегда +1 каждую строку, а Sum - суммирует -1 + (-1).. В результате если не ноль, значит все не отмечено. Анализ данных ничего не дал. Что спасло ? Спасло меню в б/д Access "сжать и восстановить". А я могу в VB6 это сделать программно ??? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 08.11.2013, 19:07 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Переписал для удобства пост (вылазит за экран) это выборка за указанный период. Что не играет ? Все играет. Свет несколько раз выключился без предупреждения (упс не успел поставить) и база данных начала хандрить. В пределах выбранного дня (((First(Chek.DateTime))>=#11/7/2013 7:0:0# And (First(Chek.DateTime))<=#11/8/2013 6:0:0#)) чек под номером 442 выдавал суму (поле Sum([Kst]*[cinazamovl]) AS Suma ) на 2грн больше чем положено, а если в HAVING поставить Chek.id=442, тогда все нормально. Визуально я не увидел ничего чтобы могло быть неверно. Но глюк оставался. Также есть поле "Вынесли на стол" ( Count([PodaliStravu])+Sum([PodaliStravu]) AS PodaliNaStil ) , которая показывала (NOT 0). Технологию такую использовал, потому что удобно, так как поле_as_boolean принимает значение 0 или -1. Count считает всегда +1 каждую строку, а Sum - суммирует -1 + (-1).. В результате если не ноль, значит все не отмечено. Анализ данных ничего не дал. Что спасло ? Спасло меню в б/д Access "сжать и восстановить". А я могу в VB6 это сделать программно ??? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 08.11.2013, 19:09 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Что-то нашел... Буду проверять Sub CompactDatabaseX() Dim dbsNorthwind As Database Set dbsNorthwind = OpenDatabase("Northwind.mdb") ' Show the properties of the original database. With dbsNorthwind Debug.Print .Name & ", version " & .Version Debug.Print " CollatingOrder = " & .CollatingOrder .Close End With ' Make sure there isn't already a file with the ' name of the compacted database. If Dir("NwindKorean.mdb") <> "" Then _ Kill "NwindKorean.mdb" ' This statement creates a compact version of the ' Northwind database that uses a Korean language ' collating order. DBEngine.CompactDatabase "Northwind.mdb", _ "NwindKorean.mdb", dbLangKorean Set dbsNorthwind = OpenDatabase("NwindKorean.mdb") ' Show the properties of the compacted database. With dbsNorthwind Debug.Print .Name & ", version " & .Version Debug.Print " CollatingOrder = " & .CollatingOrder .Close End With End Sub This example uses the CompactDatabase method to change the version of a database. To run this code, you must have a Microsoft Jet version 1.1 database called Nwind11.mdb and you cannot use this code in a module belonging to Nwind11.mdb. Sub CompactDatabaseX2() Dim dbsNorthwind As Database Dim prpLoop As Property Set dbsNorthwind = OpenDatabase("Nwind11.mdb") ' Show the properties of the original database. With dbsNorthwind Debug.Print .Name & ", version " & .Version Debug.Print " CollatingOrder = " & .CollatingOrder .Close End With ' Make sure there isn't already a file with the ' name of the compacted database. If Dir("Nwind20.mdb") <> "" Then _ Kill "Nwind20.mdb" ' This statement creates a compact and encrypted ' Microsoft Jet 2.0 version of a Microsoft Jet version ' 1.1 database. DBEngine.CompactDatabase "Nwind11.mdb", _ "Nwind20.mdb", , dbEncrypt + dbVersion20 Set dbsNorthwind = OpenDatabase("Nwind20.mdb") ' Show the properties of the compacted database. With dbsNorthwind Debug.Print .Name & ", version " & .Version For Each prpLoop In .Properties On Error Resume Next If prpLoop <> "" Then Debug.Print " " & _ prpLoop.Name & " = " & prpLoop On Error GoTo 0 Next prpLoop .Close End With End Sub ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 08.11.2013, 21:05 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей159, Application.SetOption "Auto compact", True Application.compactRepair sourecFile, destinationFile ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 09.11.2013, 04:23 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Для VBA ? А мне надо для VB6. Я только базу использую access в VB6 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 09.11.2013, 04:31 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Андрей159Я только базу использую access в VB6То есть только подключаетесь, используя ADO? И сам Access на машине отсутствует? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 09.11.2013, 07:53 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Microsoft Jet And Replication Objects 2.6 Library JRO.JetEngine.CompactDatabase ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 09.11.2013, 09:38 | 
  
  
  
   | 
||
| 
 
Как можно "Сжать и восстановить" базу данных Access с помощью VB6 ? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AndreTM , "То есть только подключаетесь, используя ADO? И сам Access на машине отсутствует?"  Присутствует, но доступ убрали. Только возможен ввод, редактирования и просмотр данных через сенсорный экран (ввод заказов в ресторане, запуск музыки). Antonariy, JRO.JetEngine.CompactDatabase Спасибо, я бы искал еще долго. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 09.11.2013, 12:45 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=60&fpage=51&tid=2156706]:  | 
    0ms | 
get settings:  | 
    12ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    41ms | 
get topic data:  | 
    11ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    45ms | 
get tp. blocked users:  | 
    2ms | 
| others: | 13ms | 
| total: | 145ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...