Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBA for Access

Модерирует : ShIvADeSt

ShIvADeSt (14-09-2011 00:58): Все обсуждение тут http://forum.ru-board.com/topic.cgi?forum=33&topic=0357&start=1180  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

   

MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yarapolk
Стандартными средствами - наверное, нет. Можно при помощи программы - обработчика перехода по записям.
Т.е. при переходе с записи на запись прогнать курсор по записям,  находящимся "выше", просуммировать и вручную запихнуть эти значения в какие-нибудь визуальные компоненты - поле ввода, например.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 15:05 13-02-2009
Yarapolk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
Спасибо, попробую.
А вообще есть какие нибудь процедуры в VBA которые обрабатывают активную строку таблицы в форме?
Например при удалении строки, мы ее активируем а потом удаляем. Если поменять фунцию удаления на функцию подсчета суммы до активной строки и при нажатии допустим кнопки "ПОДСЧЕТ" выводить результат в "ПолеN".
Мне бы знать где искать (работа с формами, работа с таблицами,...) описание обработки строк, то я бы и сам мог это сделать.

Всего записей: 14 | Зарегистр. 07-11-2008 | Отправлено: 15:43 13-02-2009
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yarapolk
А какой смысл менять стандартные функции на что-то еще? Все равно это действие надо будет программировать.
По поводу того, где искать, это все в разделе "Справочник по языку Visual Basic Microsoft Access", там описание объектов, функций и т.д.
Или в разделе "программирование", поскольку задача выходит за рамки набрасывания элементов управления на форму и расстановку свойств.
По поводу вашей задачи по простому можно сделать так:
1. Запомнить текущее положение активной записи (при помощи Bookmark или как угодно по-другому, например, через ключевое поле или комбинацию полей)
2. Стать в начало Recordset (MoveFirst)
3. В цикле двигаться вперед, пока не доберетесь до записи, которую вы запомнили, попутно суммируя нужные поля
4. Вывести полученное значение в поле

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 16:33 13-02-2009
Yarapolk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
Спасибо еще раз за помощь, воспользуюсь вашим советом, потом раскажу о результатах.

Всего записей: 14 | Зарегистр. 07-11-2008 | Отправлено: 18:44 13-02-2009
kalexom

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плиз кто знает.
В течении загрузки изображения в форму возникает окошко.
Там путь файла, прогресс загрузки, кнопка. Как можно его отключить? Изображений много - мелькание этого окошка уже снится
 
Заранее, спасибо.

Всего записей: 1 | Зарегистр. 13-02-2009 | Отправлено: 22:34 13-02-2009
skaboy27

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.У меня БД Чемпионат России по футболу.Нужно чтобы Таблица Чемпионата автоматически заполнялась по результатам матчей.Подскажите пожалуйста как это реализовать.Очень надо!!!

Всего записей: 2 | Зарегистр. 17-02-2009 | Отправлено: 01:16 17-02-2009
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skaboy27
Более конкретно формулируйте задачу.
Вот что пришло с голову в качестве идеи.
Надо найти сайт, где публикуют результаты матчей. Потом из Access вытягивать страницу, например, при помощи следующего куска кода

Цитата:
 
Set objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.Open "GET", sURL, False
objHTTP.Send
str = objHTTP.responseText
 

При этом в переменной str будет содержаться страница, адрес страницы sURL.
На компьютере должен быть установлен компонент MSXML и настроен Internet Explorer.
Получив страницу, ее надо разобрать и вытянуть нужные данные, которые потом запихнуть в нужные таблицы, например, при помощи запросов

Цитата:
 
DoCmd.RunSQL "INSERT INTO mytable ... "
 



----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 09:53 17-02-2009
skaboy27

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
Всё гораздо проще.Я сам ввожу результаты матчей в форму Матчи.Так вот мне надо чтобы после обновления записей в форме Матчи форма Таблица Чемпионата автоматически заполнялась этими данными.Например чтобы считалось количество матчей каждой команды,количество побед,поражений,ничей и самое главное подчсчёт очков и ещё чтобы в зависимости от количества очков команды выстраивались в нужном порядке.В таблице Матчи основные поля :Команда хозяин,Команда Гость,Голы команды хозяина,Голы команды гостя.А в Таблице Чемпионата  : №/место,Команда,количество матчей , ,количество побед,поражений,ничей,количество забитых и пропущенных мячей и кол-во очков.

Всего записей: 2 | Зарегистр. 17-02-2009 | Отправлено: 12:53 17-02-2009 | Исправлено: skaboy27, 13:05 17-02-2009
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skaboy27
Это все реализуется при помощи запросов.

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 15:19 18-02-2009
Elena3785

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
как создать свою панель

Народ, неужели никто не умеет создавать панели в Access? Я умею их создавать только в Exсel.

Всего записей: 24 | Зарегистр. 11-05-2008 | Отправлено: 19:51 18-02-2009
Elena3785

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Delete

Всего записей: 24 | Зарегистр. 11-05-2008 | Отправлено: 16:42 26-02-2009 | Исправлено: Elena3785, 16:49 26-02-2009
ScherbakovaAN

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет! Подскажите, пожалуйста, как при нажатии на кнопку на форме вывести отчет с данными из запроса, только чтобы там были не все записи, а соответствующие записи открытой формы?

Всего записей: 4 | Зарегистр. 02-03-2009 | Отправлено: 12:23 02-03-2009
just86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.  
люди, подскажите пожалуйста. необходимо сделать форму с 4 картинками. соответственно будет 4 кнопки на добавление и удаление отдельной картинки.
это я решил. вот код:  
 

Код:
  Option Compare Database
Option Explicit
Dim path As String
 
Private Sub butPathPic1_Click()
Dim s As String
    s = fOpenFileDialog("Выберите фото занятия", CurrentProject.path & "\Фотографии", "Фото (*.jpg)")
    s = Replace(s, CurrentProject.path & "\Фотографии\", "")
    If s <> "" Then
        Me.Снимок1 = s
        Pic1.Picture = CurrentProject.path & "\Фотографии\" & s
    End If
End Sub
 
Private Sub butPathPic2_Click()
Dim s As String
    s = fOpenFileDialog("Выберите фото занятия", CurrentProject.path & "\Фотографии", "Фото (*.jpg)")
    s = Replace(s, CurrentProject.path & "\Фотографии\", "")
    If s <> "" Then
        Me.Снимок2 = s
        Pic2.Picture = CurrentProject.path & "\Фотографии\" & s
    End If
End Sub
 
Private Sub butPathPic3_Click()
Dim s As String
    s = fOpenFileDialog("Выберите фото занятия", CurrentProject.path & "\Фотографии", "Фото (*.jpg)")
    s = Replace(s, CurrentProject.path & "\Фотографии\", "")
    If s <> "" Then
        Me.Снимок3 = s
        Pic3.Picture = CurrentProject.path & "\Фотографии\" & s
    End If
End Sub
 
Private Sub butPathPic4_Click()
Dim s As String
    s = fOpenFileDialog("Выберите фото занятия", CurrentProject.path & "\Фотографии", "Фото (*.jpg)")
    s = Replace(s, CurrentProject.path & "\Фотографии\", "")
    If s <> "" Then
        Me.Снимок4 = s
        Pic4.Picture = CurrentProject.path & "\Фотографии\" & s
    End If
End Sub
Private Sub butRezet1_Click()
    Me.Снимок1 = Null
    Pic1.Picture = ""
End Sub
Private Sub butRezet2_Click()
    Me.Снимок2 = Null
    Pic2.Picture = ""
End Sub
 
Private Sub butRezet3_Click()
    Me.Снимок3 = Null
    Pic3.Picture = ""
End Sub
 
Private Sub butRezet4_Click()
    Me.Снимок4 = Null
    Pic4.Picture = ""
End Sub
 
Private Sub Form_Current()
    If Not IsNull(Me.Снимок1) Then Pic1.Picture = CurrentProject.path & "\Фотографии\" & Me.Снимок1 Else Pic1.Picture = ""
    If Not IsNull(Me.Снимок2) Then Pic2.Picture = CurrentProject.path & "\Фотографии\" & Me.Снимок2 Else Pic2.Picture = ""
    If Not IsNull(Me.Снимок3) Then Pic3.Picture = CurrentProject.path & "\Фотографии\" & Me.Снимок3 Else Pic3.Picture = ""
    If Not IsNull(Me.Снимок4) Then Pic4.Picture = CurrentProject.path & "\Фотографии\" & Me.Снимок4 Else Pic4.Picture = ""
End Sub
   

 
Помогите с такими вопросами:
1. как сделать что бы картинки можно было добавлять не только из папки фотографии, которая должна лежать в одном каталоге с базой?
2. необходимо сделать вывод в любом виде сообщения что картинка отсутствует в папке, если её нет. как именно это решается?
 
по первому вопросу : оставлял только один слеш (...& "\" &...), но тогда access не ругался на добавление картинок, если с того же диска на котором и база лежит...
 
по второму: пытался вставить код из учебной базы борей. что собственно и получилось, но столкнулся с тем что если нет картинки программа пишет что нет картинки, а когда добавляешь, так появляется только при смене записи(например перейти на следующую и вернутся) и что на много хуже не смог применить код базы борей для остальных 3 картинок.
 
помогите, если кто знает как!

Всего записей: 18 | Зарегистр. 20-12-2007 | Отправлено: 04:25 09-03-2009
TONADOOM



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo

Цитата:
При этом в переменной str будет содержаться страница, адрес страницы sURL.  
На компьютере должен быть установлен компонент MSXML и настроен Internet Explorer.  
Получив страницу, ее надо разобрать и вытянуть нужные данные, которые потом запихнуть в нужные таблицы, например, при помощи запросов  

если не трудно, можно с этого места чуть подробнее, например на странице есть таблицы "ctl00_ContentPlaceHolder__gvResultTable" и "ctl00_ContentPlaceHolder__gvFirmList" и надо чтоб из переменной str, в которой по Вашему примеру содержится код страницы, данные попадали и соотв. обновлялись в соответствующих таблицах в БД.
В Excel я это делал при помощи QueryTables, а вот решил перенести решение в Access и застрял на этом моменте.
Заранее благодарен за совет.

Всего записей: 205 | Зарегистр. 02-09-2002 | Отправлено: 19:19 09-03-2009
MaximuS G

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем!
Кто подскажет, как обращатся к записям ?

Всего записей: 113 | Зарегистр. 15-08-2008 | Отправлено: 16:39 13-03-2009
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MaximuS G
Почитать в справке про RecordSet

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 15:34 17-03-2009
Kaplona

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, помогите пожалуйста:
 
Мне нужно что бы в поле со списком попадали названия полей определенной таблицы. Как это можно сделать или где почитать?

Всего записей: 1 | Зарегистр. 04-05-2009 | Отправлено: 13:26 04-05-2009
Slatsik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плз как на VBA изобразить клик (дабл клик) мышью по какому-то элементу в форме. Просто вызов подпрограммы 'имя_элемента_Click' не прокатывает, потому как вызывает не все события, по крайней мере (не вызывает) setFocus и т.д.
А вообще мне хотелось бы узнать, как обойти след. момент. Есть форма и подформа. в подформе может выводиться список значений, в том числе и из нулевого кол-ва элементов. при наличии хотя бы одного элемента - никаких проблем при обработке нажатия кнопок в подформе не возникает. если же нет никаких элементов, то нажатие кнопок и других управляющих элементов приводит к выводу access'ом предупреждающих сообщений, типа, не удается открыть такую-то запись (которой нет). Очень хочется не выводить это сообщение! При этом если предварительно перевести фокус на подвал, либо шапку, то это собщение не выводится! В шапке, никаких управляющих элементов нет, только надписи. В подвале почему-то срабатывает такое через раз т.е. если выбрал в основной форме элемент, по которому нет записей в подформе, а потом другой элемент, по которому тоже нет записей, то сообщение снова  выдается
 
про команду doCmd.setwarnings false я в курсе - не помогает

Всего записей: 59 | Зарегистр. 12-05-2003 | Отправлено: 00:03 06-05-2009
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kaplona
Зачитать в цикле из соответствующих коллекций.
Например,  

Цитата:
 
CurrentDB.TableDefs(9).Fields(2).Name
 

дает название 2-го поля в 9-ой таблице. Дальше-дело техники...
Slatsik
Может, имеет смысл как-то по-другому выкрутиться, например, проверять на наличие записей ...

----------
... не это главное ...

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 16:32 06-05-2009
Slatsik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo

Цитата:
Может, имеет смысл как-то по-другому выкрутиться, например, проверять на наличие записей ...

я проверяю, только это не влияет на выводимое предупреждение оно как бы и некритичное, просто, типа, месседж, только очень не хочется чтобы оно выскакивало перед конечными пользователями, потому как многие могут просто в ступор впасть...

Всего записей: 59 | Зарегистр. 12-05-2003 | Отправлено: 20:37 06-05-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » VBA for Access
ShIvADeSt (14-09-2011 00:58): Все обсуждение тут http://forum.ru-board.com/topic.cgi?forum=33&topic=0357&start=1180


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru