|
Как можно "Сжать и восстановить" базу данных 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&msg=38458692&tid=2156706]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 161ms |
0 / 0 |