|
Тема |
Re: MS Access i VB [ [re: American_boy] |
|
Автор | Mишo (Нерегистриран) | |
Публикувано | 27.09.02 00:36 |
|
|
Здрасти.
Не съм наясно какво искаш да направиш, но имам чуството, че пътят по който си тръгнал е погрешен. Обикновенно това, което искаш да направиш
се постига още при създаването на релациите, дефинирането на таблиците и създаването на query-та. Но все пак.
Доколкото разбирам dia type е разрешено и видимо само когато в type е написано EBW или Sub Arc. Но ако става въпрос само за тези две
стойности, за какво го разрешаваш (dia type)? Нека да е видимо, но не тярбва да се допуска редактирането му? Ако предположението ми е вярно
тогава напиши код за събитието type_BeforeUpdate !!
Private Sub type_BeforeUpdate(Cancel As Integer)
If [type].Text = "EBW" or [type].Text = "Sub Arc" Then
Me![dia type].Visible = True
Me![dia type] = "ARC"
Else
Me![dia type] = "" ' - Остава празно.
Me![dia type].Enabled = False
Me![dia type].Visible = False
End If
End Sub
'В този случай трябва да има обработка и на Form_Current().
Private Sub Form_Current()
If [type].Value = "EBW" or [type].Value = "Sub Arc" Then
Me![dia type].Visible = True
Me![dia type] = "ARC"
Else
Me![dia type].Enabled = False
Me![dia type].Visible = False
End If
End Sub
'***
Процедурата, която си написал в OnLoad няма да свърши работа. Цикълът се завърта само за първия запис и то 134 пъти!!, а не за всичките, както ти
се иска. Затова трябва да поставиш кода в OnCurrent. Тогава процедурата ще се изпълнява за текущия запис и за всеки , който става текущ. Този код, който ти давам ще свърши работа за тази цел.
Но си помисли по-добре за структурата на цялата база.
Успех.
|
| |
|
|
|