|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.12.2010, 10:09 | #1 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
Переделать макрос экселя под аксесс
Здравствуйте ув. знатоки!
Была токая подымал такую тему: http://programmersforum.ru/showthread.php?t=120673 И теперь задумался, если данные будут постоянно рости, экселю будет же со временем очень тяжело работать. Решил попробовать сделать БД в аксессе. Вот макрос который сохранял данные в эксель: Sub cells1() Dim iyear As String, idate As Date, adr As String, Fname As String Dim Wsh As Worksheet, wb As Object, x, i As Long, fg_ As String, fm_ As String Application.ScreenUpdating = False If MsgBox("Сохранить птичник в БД?", vbYesNo, "Подтверждение") = vbYes Then Set Wsh = ThisWorkbook.ActiveSheet: iyear = CStr(Year([a1])): idate = [a1] Workbooks.Open (ThisWorkbook.Path & "\Archive\БД.xls"): On Error GoTo Handler With Workbooks("БД.xls").Sheets(iyear) .Unprotect "znwf33gnbntrf21" x = .Range("A1:BN" & .cells(Rows.Count, 3).End(xlUp).Row).Value For i = 2 To UBound(x, 1) Step 62 If x(i, 1) = idate And x(i, 2) = Wsh.[b1] Then If MsgBox("Совпадение даты. Заменить птичник в БД?", vbYesNo) = vbYes Then Wsh.Range("A1:BN62").Copy .Range("A" & i) End If: Exit For End If Next i If UBound(x, 1) = 1 Then Wsh.Range("A1:BN62").Copy .Range("A2") ElseIf i > UBound(x, 1) Then Wsh.Range("A1:BN62").Copy .Range("A" & i) End If .Protect "znwf33gnbntrf21", Contents:=True, Scenarios:=True, AllowFiltering:=True On Error GoTo 0 End With With Workbooks("БД.xls"): .Close True: End With: End If If MsgBox("Сохранить птичник в Архив?", vbYesNo, "Подтверждение") = vbYes Then Fname = ThisWorkbook.Path & "\Archive" On Error Resume Next MkDir Fname fg_ = Format(idate, "yyyy"): fm_ = Format(idate, "mmmm") If idate <> Empty Then If Wsh.Visible = -1 Then Wsh.Copy Set wb = ActiveWorkbook With wb .Sheets(1).Shapes(1).Delete .SaveAs Fname & "\" & fg_ & "\" & fm_ _ & "\" & Wsh.Name & " (" & idate & ").xls", xlNormal .Close End With End If MsgBox "Лист " & Wsh.Name & " в виде файла сохранен в папку " & Fname End If End If Application.ScreenUpdating = True Exit Sub Handler: MsgBox "Лист с таким годом не найден" & vbCrLf & Err.Description End Sub Я немного изменил структуру таблици экселя, так чтобы потом из аксесса можно было выгрузить данные в эксель, и применить сводную таблицу экселя. Я первый раз сталкиваюсь с БД, и прошу посмотреть, что нужно исправить и вообще правильно ли я делаю? В примере есть 2-ва птичника, нужн о будет при нажатии на "кнопку сохранить", сохранять диапозон А4:DH55 в бд. Посоветуйте пожалуйста, что мне нужно изменить, переделать, подправить? Может у кого, какие примеры есть подобных манипуляций? И кстати, таблица и БД будут лежать в сетевой папки, так чтобы другие пользователи могли смотреть что происходит. Заранее огромное спасибо!
Единственный способ стать умнее, играть с более умным противником...
|
07.12.2010, 10:51 | #2 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Во вложении есть примеры кода на добавление.изменение.удаление записей.Работа не завершена
Первым делом запустите скрипт pusk,для регистрации контрола. По вашей базе должен огорчить,такая таблица не подходит.Их как минимум должнл быть 5. Вам работы хватает.
Анализ,обработка данных Недорого
|
07.12.2010, 11:19 | #3 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
Спасибо. Буду учить базы данных )))
Единственный способ стать умнее, играть с более умным противником...
|
09.12.2010, 09:28 | #4 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
А почему 5-ть таблиц? как правильно составить структуру БД?
Единственный способ стать умнее, играть с более умным противником...
|
09.12.2010, 11:49 | #5 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
считаем.на скорую руку.
таблица учета птичников. таблица движения циплят таблица или скорее всего таблицы всевозможных операций с ними. таблица Кормоконверсия таблица комумальных платежей + запросы на расчет различных данных и показателей Установите себе шаблон Борей в Ацессе и посмотрите его пример организации базы данных
Анализ,обработка данных Недорого
|
10.12.2010, 10:16 | #6 |
Форумчанин
Регистрация: 16.04.2010
Сообщений: 695
|
Спасибо. Похоже я далекий от этой темы
Что-то буду придумывать
Единственный способ стать умнее, играть с более умным противником...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно переделать макрос под меня | ganebal | Microsoft Office Excel | 0 | 22.11.2010 19:52 |
Переделать макрос. | Дмитрий Фукс | Microsoft Office Excel | 6 | 12.05.2010 09:10 |
Как запустить макрос экселя из макроса ворда... | Rossoman | Microsoft Office Excel | 1 | 08.05.2010 20:51 |
переделать под windows | al072 | C/C++ Сетевое программирование | 13 | 16.02.2010 20:57 |
Переделать программу под структуры. Си++ | Влад-mego | Помощь студентам | 0 | 12.04.2009 22:14 |