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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2015, 14:33   #1
LittleFatCat
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 68
По умолчанию Проблема с ListBox

Доброго времени суток, братья по Access-у!

Подскажите если кто чего знает...
Суть: есть база дипломов с полями годов(поступления, окончания, выдачи, отчисления, рождения). Делаю форму с комбобоксом SelType, списком lstYears и подформой SubDiplYearList. Идея - выбрав из комбобокса тип года, в списке получить сгруппированные значения годов и кол-во записей с ними, а в подформе - конкретные записи с отфильтрованным по значению в списке годом. Но! При открытии формы подформа не содержит записей, хотя записи о годах в списке есть. Стоит мышой ткнуть в список (сделать его активным), как записи в подформе появляются. Ощущение такое, что подформа не видит при старте значение из списка :-(. Программно активировать (зачернить) позицию в списке не получается. SetFocus просто обводит первый элемент списка пунктирной рамкой. Сижу, туплю... :-(
Код на события:
Код:
Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
Dim strMaxYear As String
  
  lstYears.Requery
  lstYears.SetFocus
  strSQL = "SELECT Departs.SName, Books.Year, Books.Book_Nom, DIPLOMA.LastName & ' ' & Diploma.FIrstName &" & _
   " ' ' & Diploma.MidName AS FIO, [REG_NOM] & ' ' & [Postfix] AS RegNum, Diploma.BookID," & _
   " [DIPL_SER] & ' ' & [dipl_nom] AS Diplom, DIPLOMA.KOD_SPEC, Status.StatusName, DIPLOMA.AutoID" & _
   " FROM Status INNER JOIN (Departs INNER JOIN (Books INNER JOIN DIPLOMA ON Books.BookID = DIPLOMA.BOOKID) ON" & _
   " Departs.DepartID = Books.DepartID) ON Status.StatusID = DIPLOMA.STATE" & _
   " WHERE Diploma.Exit =" & " Forms![frmDiplYearList]![lstYears]"
  SubDiplYearList.Form.RecordSource = strSQL
  Call SelType_AfterUpdate
  'Call lstYears_AfterUpdate
  Me.Requery
End Sub

Private Sub lstYears_AfterUpdate()
  SubDiplYearList.Requery
End Sub

Private Sub SelType_AfterUpdate()
Dim strSQL As String
Dim strType As String
  If IsNull(SelType.Value) Or SelType.Value = "" Then SelType.Value = 1
  Select Case SelType
    Case 1:
      strType = "EndDate"
    Case 2:
      strType = "Exit"
    Case 3:
      strType = "BegDate"
    Case 4:
      strType = "OutDate"
    Case 5:
      strType = "BirthYear"
  End Select
  
  lblNull.Caption = "Имеют значение '0' в данном поле :" & str(DCount(strType, "Diploma", strType & "=0")) & " записей"
  strSQL = "SELECT DIPLOMA." & strType & " AS Год, Count(DIPLOMA." & strType & ") AS [Кол-во] FROM DIPLOMA WHERE DIPLOMA." & _
   strType & "<>0 GROUP BY DIPLOMA." & strType & " ORDER BY DIPLOMA." & strType & " DESC"
  lstYears.RowSource = strSQL
  lstYears.Requery
  lstYears.SetFocus
  
  strSQL = SubDiplYearList.Form.RecordSource
  strSQL = Left(strSQL, InStr(strSQL, " WHERE ")) & " WHERE Diploma." & strType & " = Forms![frmDiplYearList]![lstYears]"
  SubDiplYearList.Form.RecordSource = strSQL
  SubDiplYearList.Requery
End Sub
LittleFatCat вне форума Ответить с цитированием
Старый 27.01.2015, 18:08   #2
Волшебник
Пользователь
 
Аватар для Волшебник
 
Регистрация: 17.08.2011
Сообщений: 39
По умолчанию

LittleFatCat,
Форма пдч открывается раньше Формы основной.
-----------------------------
307 МОНЕТ ВОЛШЕБНИКА
Волшебник вне форума Ответить с цитированием
Старый 28.01.2015, 12:11   #3
LittleFatCat
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 68
По умолчанию

В-общем, плюнул и сменил список на подформу с тем же источником данных. Всё работает, но за ListBox всё равно обидно
Неужели таки ничего и нельзя сделать?

Волшебник, спасибо!
LittleFatCat вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ListBox проблема с границей SonicBob Помощь студентам 9 04.07.2011 12:01
Проблема с изменением listbox MoHoMaXFR Microsoft Office Excel 18 26.05.2011 19:57
Проблема создания listBox basilio2010 Microsoft Office Access 5 28.05.2010 10:21
Проблема VBA:Listbox Warhead Помощь студентам 0 05.04.2010 18:34
проблема с listbox... jumper_ua Общие вопросы Delphi 15 16.02.2010 01:54