|
|
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Поле со списком "Телефон", маска ввода: Код: plaintext Код: plaintext Но в этот раз получаю сообщение, что введенный текст не соответствует ни одному из элементов списка. Может я чего с маской/форматом намудрил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 15:12 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Response = acDataErrContinue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:12 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
И куда это вписать? Точно такая же процедура, слово в слово, работает без всяких ошибок. Одно отличие - там речь идет об обычном текстовом поле, без всяких форматов и масок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:43 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Забыл добавить: в случае с телефоном, после сообщения об ошибке, новое значение в список не добавляется, но в таблице появляется. Все-таки что-то в маске/формате дело, если убрать маску и формат и вводить телефон как 11-и значное число, то все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:49 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Процедуру можно увидеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:49 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Во втрой форма маска есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 16:51 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Процедура: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:12 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Глупый вопрос: LimitToList равно No? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:26 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
ctlList.Text передает не значение поля, а отформатированное значение (c символами, добавляемыми Format). Вам нужно использовать параметр процедуры NewData или преобразовать ctlList.Text, чтобы возвращался только номер Предлагаю так НетВСписке(NewData As String) As Integer If MsgBox("Значение отсутствует в списке. Добавить?", vbOKCancel) = vbOK Then NotInList = acDataErrAdded DoCmd.OpenForm strForm, , , , acAdd, acDialog, NewData Else NotInList = acDataErrContinue ctlList.Undo End If Response = НетВСписке(NewData) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:30 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
2 Kelme так вроде если NO то не будет случаться событие отсутствие в списке? или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:30 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
2 Kelme Глупый ответ: равно Yes во всех случаях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:33 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
автор 2 Kelme так вроде если NO то не будет случаться событие отсутствие в списке? или я не прав? ну я же предупреждал, что глупый вопрос :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:33 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
При данной маске формата ctlList.Text отличается от NewData ctlList.Text выглядит след. образом 8-(345) 343-9999 a NewData 3453439999 Roma R прав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:43 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Поправка НетВСписке(strForm As String, NewData As String) As Integer ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 17:44 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
А нельзя как-нибудь не менять процедуру? В смысле - добавлять аргумент NewData. Она во многих местах завязана, придется добавлять проверку откуда вызвана.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:15 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Тогда надо изменить "8-("000") "000\-0000;1;_"" на "8-("000") "000\-0000;0;_"" правда номера тогда будут хранится в виде: 8 - (095) 123456 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:21 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
вообщем они будут хранится в формате маски ввода, со всеми скобками и тире. И соответсвенно не надо будет их форматировать для вывода с комбобоксе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:24 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Способ Rom-ы вызывает то же сообщение, правда теперь все приведено к виду 3453439999 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:29 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
2 Kelme Вообще мрак! Сообщение осталось, добавилось искажение номеров в выпадающем списке - скобки перескочили на другое место. Может все-таки формат все портит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:45 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Попробуй убери формат в запросе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 18:49 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Спасибо!!! Т.к. аргумент 0 в маске сохраняет номер телефона "как есть", то формат только мешал и все коверкал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2004, 19:09 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
А у меня не получилось избежать сообщения об ошибке, хотя вроде все повторил как здесь советывали. В таблице у поля нет ни маски, ни формата. Поле со списком в форме: маска - \("000") "000\-0000;1;_ (мне надо сохранять только цифры). формат присоединенного поля в источнике списка - Format([Телефон],"(@@@) @@@-@@@@") При отсутствии значения в процедуру(которая здесь была приведена) передаю значение NewData (равно 0951234567). В форме, где происходит добавление, поле Телефон имеет опять маску \("000") "000\-0000;1;_ и новый номер выглядит как (095) 123-4567. А дальше, при попытке сохранить запись - сообщение об ошибке, но запись в таблице сохраняется . Пробовал добавить в запрос-источник в качестве присоединенного поля номер без формата, задав ему ширину=0, ничего не изменилось. А вот если вообще убрать отформатированное поле из источника, то все работает, но выпадающий список содержит 10-и значные числа в неудобочитаемом виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2004, 16:51 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Ну помогите кто-нибудь!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 13:51 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Могу предложить немного подправить функцию, без изменения вызова в других случаях НетВСписке(strForm As String, Optional x) As Integer Dim ctlList As Control Set ctlList = Screen.ActiveControl If IsMissing(x) Then x = ctlList.Text If MsgBox("Значение отсутствует в списке. Добавить?", vbOKCancel) = vbOK Then NotInList = acDataErrAdded DoCmd.OpenForm strForm, , , , acAdd, acDialog, x Else NotInList = acDataErrContinue ctlList.Undo End If Вызов Response = НетВСписке("frmТелРедакт", NewData) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 14:07 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Я сделал так (работает): Combo0: Format = оставил пустым Input Mask = "8-("000") "000\-0000;1;_"" Source = SELECT Format(Phone,"""8-(""@@@) @@@-@@@@") AS Expr1 FROM Phone; Private Sub Combo0_NotInList(NewData As String, Response As Integer) If MsgBox("Phone not in list! Add?", vbOKCancel) = vbOK Then CurrentDb.Execute "Insert into Phone (Phone) Values ('" & NewData & "')" Me.Combo0.Undo DoEvents Me.Combo0.Requery Me.Combo0 = Format(NewData, """8-(""@@@) @@@-@@@@") Response = acDataErrContinue SendKeys "{Enter}" Else Response = acDataErrContinue Me.Combo0.Undo End If End Sub Не использую дополнительную форму, если нкжно ввести новый номер, то зачем открывать форму раз уж он введен!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 14:27 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
2 Roma R: Строка Код: plaintext Код: plaintext 2 RD: Дополнительная форма при вводе нового значения (в т.ч. и телефона) нужна для ввода некоторых доп.данных, поэтому без передачи нового значения не обойтись. Не пойму где я ошибаюсь? Формата в таблице нет, маска не сохраняет в поле "посторонних" знаков типа скобок, тире и т.д. Передаю в аргументе неформатированное 10-значное число. Почему-то влияет формат источника поля со списком. А в Хелпе сказано, что формат влияет только на изображение. :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 15:40 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
При передаче аргумента х, значение х и не должно меняться. В этом то и суть изменений. Если Вы не передаете в функцию x, то она (функция) работает, как работала и ранее, т.е при открытии формы OpenArgs=ctlList.Text, как и было раньше и Вам в передыдыщих вызовах этой функции ничего менять не надо. Если задаете x при вызове функции (x=NewData), то OpenArgs=NewData, т.у. в данном случае 10 цифр. P.S. Не забудьте задать формат для поля Телефон на диалоговой форме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 16:12 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Не забудьте задать формат для поля Телефон на диалоговой форме На какой именно? На той, где ввожу новый номер или той, куда передается значение(т.н. доп.форма)? И какой формат, как в источнике поля со списком? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 16:37 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
На обеих одинаковый, какой у Вас был изначально "8-("000") "000\-0000;1;_"" Format([Телефон];"""8-(""@@@) @@@-@@@@") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 16:59 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Это у Tim2 такая маска была, а у меня: \("000") "000\-0000;1;_ Формата у меня в полях форм не было(только в источнике поля со списком). Указал в обеих формах формат (@@@") "@@@-@@@@... НЕ РАБОТАЕТ!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 19:20 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Продолжаю мучения. Перепробывал разные сочетания маски и формата. Работает только в двух случаях: если поле в таблице хранит номер со всеми знаками или если поле не хранит все "посторонние" знаки, но в запросе-источнике поля со списком в форме не указан формат поля(т.е. в списке номера в виде 0951234567). А вот чтоб и рыбку съесть, и ... - не выходит. Зараза! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:07 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Попробуй "("000") "000\-0000;1;_ Format([Телефон];"(@@@"") ""@@@-@@@@") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 10:21 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Судя по упоминании функции Format это надо вписать в запрос-источник поля со списком? Вписал - без изменений. Если скопировать из выражения только выражение формата, то оно тут же преобразуется к (@@@") "@@@-@@@@, что и так уже есть. Замена первого знака в маске с \ на " тоже ничего не меняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2004, 16:49 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Ну, отказаться от попытки решить проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 10:42 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Выложи базу с этими двумя формами, функцией и таблицами. Посмотрим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 10:45 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Выкладываю.... Входная форма: "ВыборТел". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 14:21 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
В форме ВыборТел Для поля со списком cmbTel в окне свойств на вкладке Макет 1. Убери формат списка 2. Сделай ширину первого столбца 0,002см ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 16:28 |
|
||
|
Добавление в список
|
|||
|---|---|---|---|
|
#18+
Ну....(тут я снимаю шляпу)!!! А что это было? Почему только если присоединенный столбец сделать >0, то все работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2004, 17:16 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1674163]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 484ms |

| 0 / 0 |
