|
|
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Скажите пожалуйста ! При установке в качестве источника для формы - результата выполнения хранимой процедуры нужно также выполнить установку для всех контролов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 11:32 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Ну ясно дело, к полям привязка нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 11:42 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Почему-то не получается связать результат выполнения хп с RecordSource, хотя все делаю как в примере на форуме... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:39 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Я не разбираюсь в ХП, но в таком виде на вопрос никто не ответит. Какой пример? На каком этапе возникает проблема? Какая именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:41 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Есть формы: frm_Proba и frm_Main Из формы в frm_Main берутся параметры: StartPeriod и EndPeriod из одноименных полей. По нажатию кнопки вызывается скрипт: Me.StartPeriod.Requery Me.EndPeriod.Requery Dim cmd As ADODB.Command Dim conn As ADODB.Connection Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset Dim Prm1 As ADODB.Parameter Dim Prm2 As ADODB.Parameter Set conn = CurrentProject.Connection Set cmd = New ADODB.Command With cmd .ActiveConnection = conn .CommandText = "Get_data" .CommandType = adCmdStoredProc End With Set Prm1 = cmd.CreateParameter(StartPeriod, adDate, adParamInput, 22, Me.StartPeriod.Value) cmd.Parameters.Append Prm1 Set Prm2 = cmd.CreateParameter(EndPeriod, adDate, adParamInput, 22, Me.StartPeriod.Value) cmd.Parameters.Append Prm2 Set rst = cmd.Execute Forms!frm_Proba!RecordSource = rst Forms!frm_Proba.Value.ControlSource = rst.Fields(0).Value Forms!frm_Proba.Time.ControlSource = rst.Fields(1).Time DoCmd.OpenForm "frm_Proba" conn.Close Set conn = Nothing Set cmd = Nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 12:53 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Forms!frm_Proba!RecordSource = rst Forms!frm_Proba.Value.ControlSource = rst.Fields(0).Value Forms!frm_Proba.Time.ControlSource = rst.Fields(1).Time Это что, издевательство такое??? Во-первых ткни мышью в слово ControlSource, нажми Ф1 и погляди что там должно быть. И что ты туда пытаешься впихнуть. Во-вторых не называй контролы таким образом В-третьих... не, про издевательство над рекордсетом в следующий раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:00 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Это где такой пример был? Как все запущено Forms!frm_Proba!RecordSource = rst свойству с текстовым типом идет попытка присвоить объектную переменную. А почему бы не сделать так: В конструкторе формы frm_Proba поставить RecordSource = dbo.Get_data InputParameters = @StartPeriod datetime= Forms!frm_Main!StartPeriod, @EndPeriod datetime = Forms!frm_Main!EndPeriod А по кнопке только одна команда Forms!frm_Proba.Requery ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:02 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Господи как все запущено... Код: plaintext 1. 2. Если это frm_Proba еще не открыта - как же ты с ней работаешь? Пошел искать такой пример ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:06 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
>Это что, издевательство такое??? Да не издеваюсь я ! Просто не знаю как правильно описать потому-что "правильное" не работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:08 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Ты бы лучше показал неработающее "правильное", чем ... хм... неработающее "неправильное" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:10 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
Можно, конечно, и в коде 2 (две или достаточно одну!?) строчки Me.RecordSource = "dbo.Get_Data(" & Forms("в frm_Main").StartPeriod & ", " & Forms("в frm_Main").EndPeriod &")" Me.Requery ' сомневаюсь, что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:16 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
2 Витал Зачем учишь плохому Если писать в источник формы строку процедуры сразу с параметрами, то придется преобразовывать параметры (т.е. то что в факе по формированию строки на сервер). Если использовать InputParameters, то преобразованием занимается аксесс. То что у кого-то работает без преобразования, не факт, что такой же код будет работать на другой машине. Например русский и английский аксесс ведут себя по разному. И потом зачем присваивать динамически источник в коде, если его можно один раз присвоить в конструкторе, а по кнопке выполнять только обновление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:27 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
incolid писал:зачем присваивать динамически источник в коде, если его можно один раз присвоить в конструкторе, а по кнопке выполнять только обновление. "Кутить, так кутить!!" Сегодня он привязался к форме, завтра захочет из кода, рекордсета, инпутбокса... по сиганалам с Марса... формировать источник данных для формы. Вопрос тогда практический. Честно совру. Не копал в этом направлении. Чем отличается твои ссылки на поле формы и мои? В том и другом - берутся значения полей формы. В одном случае - это в свойствах формы, в другом в модуле формы. А вообще-то, чтобы не полагаться на всякие настройки, предпочитаю сравнивать даты, преобразовав в числовой тип. В моем случае это можно сделать просто дописав CONVERT() или CAST(). А в твоем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:38 |
|
||
|
Помогите с формой!
|
|||
|---|---|---|---|
|
#18+
А вообще-то, чтобы не полагаться на всякие настройки, предпочитаю сравнивать даты, преобразовав в числовой тип. В моем случае это можно сделать просто дописав CONVERT() или CAST(). А в твоем? Чтобы не полагаться на настройки я предпочитаю сравнивать без преобразования с помощью явного указания типа данных. Во-первых это всегда быстрее чем преобразование, во-вторых...имхо...более правильный стиль программирования. В данном примере: InputParameters = @StartPeriod datetime = Forms!frm_Main!StartPeriod, @EndPeriod datetime = Forms!frm_Main!EndPeriod Тип данных указан явно и на любых комбинациях ОС и офис с любыми нац.настройками такой вариант будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 13:49 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32320077&tid=1678336]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 388ms |

| 0 / 0 |
