|
|
|
| Кто знает
как заранее, до выпадения строк, узнать а сколько штук строк в ПолесоСписком? | |
|
| |
|
|
|
| всмыле? У поля со списком есть источник строк... можно определить recordcount.... | |
|
| |
|
|
|
| Да Олег, у него очень специфический источник строк
SELECT Mid([name],7,40) AS [Таблицы моделей] FROM MSysObjects WHERE (((Mid([name],1,5))="Marki"));
это список таблиц текущ. базы, у которых в названии присутствует слово- "Marki"
марки_телефонов
марки_плееров
и т.д.
заранее неизвестно скока там будет каких марок...
можно конечно как-то узнать сколько таких таблиц в базе, но как это спросить я пока не сообразил... | |
|
| |
|
|
|
| Ну либо получить кол-во строк так
me.[ПолеСoСписком].recordset.recordcount
|
Или вызвать Dcount
Dcount("*","MSysObjects", "Mid([name],1,5)='Marki'")
|
Должно прокатить | |
|
| |
|
|
|
| Спасибо пробую... | |
|
| |
|
|
|
| Вот так выдаёт количество спасибо.
skoka_tablic = DCount("*", "MSysObjects", "Mid([name],1,5)='Marki'")
теперя не знаю на какое событие поля ето вешать.
может mousemove...
нет фигня
случайно наехал оно сработало...
получается вроде GotFocus- нет фигушки... | |
|
| |
|
|
|
| ИМХО вешать можно просто на открытие или на OnActivate формы
я все-же не очень понимаю, какой смысл в разделении данных по моделям в разные таблицы и тем более зачем работать с системной таблицей если без этого можно прекрасно обойтись - можно просто пересчитывать объекты в коллекции TableDefs проверяя их имя Like "Marki" & "*" и одновременно заполняя айтемами ComboBox.
для того, чтобы в списке отображалось более-менее осмысленное содержание, а не "tblMobilePhones_Marki" например, можно заполнять не только названиями таблиц, а еще и текстом из Descripion таблицы "Марки мобильных телефонов"
при этом первую колонку списка (BoundColumn) с именами таблиц можно скрыть (ширина=0) | |
|
| |
|
|
|
| Можно и в одной таблице всё иметь, о ID знать что это такое,
но юзер сам создаёт необходимые таблицы с моделями, сам их заполняет,
они автоматом заносятся в список созданных таблиц.
Эт всё автомвтизирвано, а теперя я хотел сделать ежели таблица моделей одна, то нефига списку выпадать, а сразу пусть форма для выбора конкретной модели откроется. | |
|
| |
|
15 Кб. |
|
| неудачное решение ИМХО с таким последовательным выбором - чего узера гонять по невнятному интерфейсу - то есть список модельных рядов, то нет...
я бы строил дерево - (как в аттачменте, примерно)... причем ветки заполнял бы динамически - по внесенным данным
и алфавит и производителей и категории... впроч - категории можно и из базового справочника строить, а вот производителей и алфавит - на основании уже внесенных данных | |
|
| |
|
|
|
| чтот ты ужучил такое непонятное - с чего это вдруг марки телефонов и плееров в разных таблицах держать?
импортированные данные обрабатываешь? прайслисты? | |
|
| |
|
|
|
| Не совсем так.
Из поля со списком выбираешь где будешь искать необходимую модель,
эта таблица становится источником для формы выбора моделей,
в форму выбора попадают не все значит модели а уже список значительно меньше,
стало быть искать легче.
Нашел, щелкнул и наименование модели прыг в основную форму...
Вот такие пироги. | |
|
| |
|
|
|
| Спасибо за помощь.
Код выстроился.
Private Sub Tip_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim skoka_tablic As Long
Dim kaka_tablica As String
skoka_tablic = DCount("*", "MSysObjects", "Mid([name],1,5)='Marki'")
If skoka_tablic = 1 Then
kaka_tablica = DFirst("NAME", "MSysObjects", "Mid([name],1,5)='Marki'")
If Nalichie_Tablici_v_Baze(kaka_tablica) = True Then
DoCmd.OpenForm "VIBOR_MAROK"
|
| |
|
| |
|
|
|
| не совсем чтоб хорошо выстроился - неэффективный код и неэффективный алгоритм работы с формой | |
|
| |
|
|
|
| А поконкретнее можно как-то?
Что здеся по Вашему неэффективно? | |
|
| |