Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2010, 16:45   #11
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Uncle_Smith.
Поупражняйтесь с вариантом.
Евгений.

Последний раз редактировалось Teslenko_EA; 06.01.2010 в 23:27.
Teslenko_EA вне форума Ответить с цитированием
Старый 06.01.2010, 18:18   #12
Uncle_Smith
Способный ученик=)
Пользователь
 
Аватар для Uncle_Smith
 
Регистрация: 10.12.2009
Сообщений: 15
Хорошо

Евгений, большое вам спасибо за пример! Обязательно разберу!
Uncle_Smith вне форума Ответить с цитированием
Старый 06.01.2010, 22:50   #13
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Uncle_Smith.
я обнаружил ошибку.
Прикреплен исправленный файл.
Евгений.
Вложения
Тип файла: rar дорога_new2.rar (41.5 Кб, 17 просмотров)

Последний раз редактировалось Teslenko_EA; 06.01.2010 в 23:27.
Teslenko_EA вне форума Ответить с цитированием
Старый 07.01.2010, 08:44   #14
Uncle_Smith
Способный ученик=)
Пользователь
 
Аватар для Uncle_Smith
 
Регистрация: 10.12.2009
Сообщений: 15
По умолчанию

Здравствуйте Евгений!
Большое спасибо за образец, классно реализован! Я понял в целом как все функционирует, но чувствую, что очень "плаваю" в VBA, не хватает опыта программирования на нем =(
Может быть посоветуете какую-нибудь литературу из своего опыта по VBA? Буду очень признателен!
Также обнаружил проблему, при работе БД на другой машине. При попытке экспортировать список в Excel, VB выдает ошибку "430"


MSOffice на обеих машинах стоит одинаковый.

Последний раз редактировалось Uncle_Smith; 07.01.2010 в 12:12.
Uncle_Smith вне форума Ответить с цитированием
Старый 18.01.2010, 11:04   #15
Uncle_Smith
Способный ученик=)
Пользователь
 
Аватар для Uncle_Smith
 
Регистрация: 10.12.2009
Сообщений: 15
Сообщение

Евгений, добрый день!
Опять хочу обратиться к вам за помощью.
Возможно ли как-то обратиться к элементу списка? Например повесить, на отображаемое в списке значение, какое-либо условие?
Заранее спасибо!

Последний раз редактировалось Uncle_Smith; 18.01.2010 в 12:58.
Uncle_Smith вне форума Ответить с цитированием
Старый 18.01.2010, 13:57   #16
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Uncle_Smith.
способов решения может быть много, выбор за Вами, например:
Код:
Function savSelect(...)
	...
	occupied 'вызов "счетчика"
End Function

Private Sub Поле2_AfterUpdate()
	...
	occupied 'вызов "счетчика"
End Sub
Function occupied() 'конструкция "счетчика"
Const s1 = "Мест: ", s2 = ",  свободно: "
Dim i%, j%, sArr()
Dim r As ADODB.Recordset: Set r = New ADODB.Recordset
r.Open Список4.RowSource, CurrentProject.Connection
sArr = r.GetRows(r.RecordCount)
For i = 0 To Список4.ListCount - 1
    If Len(sArr(1, i) & "") = 0 Then j = j + 1
Next
Надпись5.Caption = s1 & Список4.ListCount & s2 & j
End Function
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 18.01.2010, 14:00   #17
Uncle_Smith
Способный ученик=)
Пользователь
 
Аватар для Uncle_Smith
 
Регистрация: 10.12.2009
Сообщений: 15
По умолчанию

Евгений, большое спасибо за помощь!
Uncle_Smith вне форума Ответить с цитированием
Старый 20.01.2010, 16:38   #18
Uncle_Smith
Способный ученик=)
Пользователь
 
Аватар для Uncle_Smith
 
Регистрация: 10.12.2009
Сообщений: 15
По умолчанию

Здравствуйте Евгений!
Опять хочу с вами посоветоваться
Для одного из итоговых отчетов мне понадобилось кол-во пассажиров едущих на конкретном рейсе. Для этого я добавил в таблице "Рейсы" поле "Пассажиров". Для записи количества пассажиров я решил использовать функцию savCount. Однако есть проблема: поле Id_рейс в таблице Рейсы имеет тип счетчик. А значение Id_рейс в Поле2 - числовое. Вылетает ошибка несоответствия типов данных в условии выборки (const Sq). Можно ли как-нибудь решить эту проблему?
Заранее спасибо!

Фрагмент кода:

Код:
Private Sub Кнопка12_Click() ' сохранение
Поле62 = cj ' свободно мест
Поле71 = Список4.ListCount - cj ' занято мест
z = Поле71
x = Поле2.Column(0)
savCount x, z
End Sub

Function savCount(s$, t$) As Long
Const Sq = "SELECT Id_рейс FROM Рейсы WHERE Id_рейс='"
Const sQa = "INSERT INTO Рейсы ( Пассажиров ) values ( '"
Dim r As DAO.Recordset
Set r = CurrentDb.OpenRecordset(Sq + s + "'")
If r.EOF Then
    r.Close
    CurrentDb.Execute sQa + t + "' )"
    Set r = CurrentDb.OpenRecordset(Sq + s + "'")
    If r.EOF Then Exit Function
    savCount = r(0)
Else
    savCount = r(0)
End If
r.Close
Set r = Nothing
End Function
Uncle_Smith вне форума Ответить с цитированием
Старый 20.01.2010, 18:38   #19
Uncle_Smith
Способный ученик=)
Пользователь
 
Аватар для Uncle_Smith
 
Регистрация: 10.12.2009
Сообщений: 15
По умолчанию

Извиняюсь, я кажется нашел ошибку.
В условии Where Id_рейс не нужен апостроф. Соответственно в (Sq + s + ) тоже. Однако все равно значение не заносится в таблицу.
Uncle_Smith вне форума Ответить с цитированием
Старый 20.01.2010, 18:49   #20
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Uncle_Smith.
"Можно ли как-нибудь решить эту проблему?", думаю необходимо не решать проблему, а отказаться от её создания, не создавая поле "Пассажиров", необходимости в нём нет. Данные о числе пассажиров для отчета, можно получать из подобной SQL конструкции:
Код:
SELECT Id_рейс, Дата, 
(SELECT Марка FROM Автобусы WHERE Id_автобус=автобус_Id) AS Автобус, 
(SELECT Count(рейс_Id) FROM Билеты WHERE рейс_Id=Id_рейс) AS Билетов
FROM Рейсы
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу совета в проблеме Gans_sv Компьютерное железо 5 08.11.2009 20:27
Выручайте, прошу совета. RickKick Помощь студентам 1 23.05.2009 09:55
Прошу совета ! Kamelli_13 Общие вопросы Delphi 1 18.05.2009 22:10
прошу совета мо монитору andrey_tmn Компьютерное железо 4 18.03.2009 20:03
Гарантия.Прошу совета. Elm0 Свободное общение 7 09.10.2007 17:48