|
|
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
в строке set me.lst=me.list1 выходит сообщение об ошибке method or data member not found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 18:27 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
до перехода в другую процедуру дело не дошло )), при загрузке формы вышло сообщение об ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 18:29 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
на строке set me.lst=me.list1 выходит сообщение об ошибке method or data member not found ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 18:32 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Вы можете свой код выложить? А еще лучше - проект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2006, 18:58 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Да уж. Тут ни FAQ не поможет, ни F1. :) А зачем, собственно, передавать обьект в процедуру? И вообще зачем там обьектаная переменная? В любом случае это будет та же ссылка на тот же обьект. Если нужно обратится к контролу на форме из модуля формы, так и пбращайтесь бапрямую. Область видимости позволяет. В чем проблема-то? Ниче не понимаю. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 05:23 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Magnus23 А зачем, собственно, передавать обьект в процедуру? И вообще зачем там обьектаная переменная? В любом случае это будет та же ссылка на тот же обьект. Если нужно обратится к контролу на форме из модуля формы, так и пбращайтесь бапрямую. Область видимости позволяет. В чем проблема-то? Ниче не понимаю. Это можно испльзовать в том случае, когда надо сделать однотипные действия с кучей однотипных объектов. Tommy1 на строке set me.lst=me.list1 выходит сообщение об ошибке method or data member not found все правильно. В вашем случае "lst" - это переменная. а не метод обэекта "Me" и надо писать так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 09:12 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
именно так я делаю, но при прохождении строки set Lst=Me.List1 значение Me.List1="", соответственно и Lst="" и List1 не заполняется, хотя нигде не выходит сообщение об ошибке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:30 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Эх... при прохождении этой строки ткните правой педалью мыши на переменную Lst и выберите Add watch. Это так сложно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:43 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Что именно тебе нжно взять и запихнуть из List1 в lst Private Sub Form_Load() Dim obj As Object Set obj = List1 Debug.Print obj.Name Debug.Print obj.Font.Name End Sub Melkiades показал что ему нужно вывести имя объетка и имя шрифта With Me.lst .Clear .AddItem "Item 1" .AddItem "Item 2" .AddItem "Item 3" .ListIndex = 1 End With Konst_One показал как добавить в объект значение Вопрос смысл создания объект? или ваш код в студию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 10:51 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Сорри, что реанимирую такую древнюю тему, но вопрос состоит в следующем. У меня есть на форме 3 группы однотипных (внутри группы) контролов (одна группа комбо, две текст). При изменении любого из этих контролов запускается процедура типа: Sub CalcSumChange() Dim maxAdd As Double Dim maxTake As Double Dim minChange As Double maxAdd = txtSumAdd.Value maxTake = txtSumTaking.Value minChange = Worksheets("Параметры счетов").Range("g23").Value 'выполнение проверки сумм пополнения / снятия условиям 'присвоение "знака" движения сумм по счету If cbx1 = "Пополнение" And Len(txtSum1) > 0 Then If Abs(txtSum1.Value) > maxAdd Then txtSum1.Value = Format(Abs(maxAdd), "standard") MsgBox "Сумма пополнения не должна превышать " & Format(Abs(maxAdd), "standard") ElseIf Abs(txtSum1.Value) < minChange Then MsgBox "Минимальная сумма пополнения " & Format(minChange, "standard") txtSum1.Value = Format(minChange, "standard") Else: txtSum1.Value = Format(Abs(txtSum1), "standard") End If ElseIf Len(cbx1) > 0 And Len(txtSum1) > 0 Then If Abs(txtSum1.Value) > maxTake Then txtSum1.Value = Format(-Abs(maxTake), "standard") MsgBox "Сумма cнятия не должна превышать " & Format(Abs(maxTake), "standard") ElseIf Abs(txtSum1.Value) < minChange Then MsgBox "Минимальная сумма снятия " & Format(minChange, "standard") txtSum1.Value = Format(-minChange, "standard") Else: txtSum1.Value = Format(-Abs(txtSum1), "standard") End If Else: txtSum1.Value = Format(0, "standard") End If If cbx2 = "Пополнение" And Len(txtSum2) > 0 Then If Abs(txtSum2.Value) > maxAdd Then txtSum2.Value = Format(Abs(maxAdd), "standard") MsgBox "Сумма пополнения не должна превышать " & Format(Abs(maxAdd), "standard") ElseIf Abs(txtSum2.Value) < minChange Then MsgBox "Минимальная сумма пополнения " & Format(minChange, "standard") txtSum2.Value = Format(minChange, "standard") Else: txtSum2.Value = Format(Abs(txtSum2), "standard") End If ElseIf Len(cbx2) > 0 And Len(txtSum2) > 0 Then If Abs(txtSum2.Value) > maxTake Then txtSum2.Value = Format(-Abs(maxTake), "standard") MsgBox "Сумма cнятия не должна превышать " & Format(Abs(maxTake), "standard") ElseIf Abs(txtSum2.Value) < minChange Then MsgBox "Минимальная сумма снятия " & Format(minChange, "standard") txtSum2.Value = Format(-minChange, "standard") Else: txtSum2.Value = Format(-Abs(txtSum2), "standard") End If Else: txtSum2.Value = Format(0, "standard") End If If cbx3 = ..... 'и так для всех 6 комбобоксов и текстбоксов End If txtTotalSumChange.Value = Format(CDbl(txtSum1) + CDbl(txtSum2) + CDbl(txtSum3) + CDbl(txtSum4) + CDbl(txtSum5) + CDbl(txtSum6), "standard") TotalSum End Sub Почему-то у меня есть уверенность, что тупой перебор имен этих комбо- и текстбоксов можно избежать какой либо процедуркой типа: sub cntrls () dim stri as string dim datei as TextBox dim i as integer for i=1 to 6 stri = "frmMain.txtDate" & i + 1 Set datei.Caption = stri next i end sub Только вот такая процедурка не работает выдавая ошибку "Wrong number of arguments (Error 450)", а как решить эту задачку по упрощению основного кода сама разобраться никак не могу. Есть светлые головы, кто поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:41 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Сорри, по-дурацки выложила прошлый раз код Исходный код, который хотелось бы оптимизировать (только в части обработки в цикле однотипных контролов). Код: plaintext 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. Мое видение решения проблемы, которое не работает :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:48 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
используйте коллекцию Controls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:48 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Konst_Oneиспользуйте коллекцию Controls Я еще не программер (и не планирую им стать, но текущие задачи надо решать здесь и сейчас и собственными силами), а только учусь. Что имеется в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:51 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
у текущей формы есть объект Controls, в нем все ваши контролы находяться. обращение можно делать по имени контрола Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 14:53 |
|
||
|
объявление объектной переменной
|
|||
|---|---|---|---|
|
#18+
Konst_Oneу текущей формы есть объект Controls, в нем все ваши контролы находяться. обращение можно делать по имени контрола Код: plaintext то есть на место "txtName1" мне как раз и надо вставить мою строковую переменную, содержащую имя (завязанное на цикл) контрола? Как то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Спасибки, работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2009, 15:04 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33734737&tid=2161461]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 320ms |

| 0 / 0 |
