|
|
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Привет всем!!! Есть поле "НомераДокументов" с разными данными: УЕ195867, 7894856685, М465768, мне нужно получить поле с данными: 195867, 7894856685, 465768, т.е. если первые буквы, то их откинуть, если цифры, то оставить. Попробывала написать вот так: Номер: IsNumeric(Mid([НомерДокумента];1;2))=ложь, но.......? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 13:05:06 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Я бы свою функцию написал. Если бы точно знать, что, например, может быть либо 2 буквы либо нисколько, то можно было бы напр. IIF + isnumeric+ left+mid использовать. Если быстро, дешево (т.е. даром) и ненадежно (без гарантий) :-), то: Public Function LetNum(N As String) As String On Error GoTo ERRTRAP If IsNumeric(N) Then LetNum = N Else LetNum = LetNum(Mid(N, 2)) End If EXIT_FUN: Exit Function ERRTRAP: MsgBox "Произошла ошибка" & err.Number & ". " & err.Description, vbInformation Resume EXIT_FUN End Function С буквами в конце НЕ РАБОТАЕТ! - нужно дописать проверку на условие IsNumeric(Right(N,1)) -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 13:37:23 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Например, так: Public Function LetNum(N As String) As String On Error GoTo ERRTRAP If IsNumeric(N) Then LetNum = N Else If IsNumeric(Right(N, 1)) = False Then MsgBox ("Буква в конце") Exit Function End If LetNum = LetNum(Mid(N, 2)) End If EXIT_FUN: Exit Function ERRTRAP: MsgBox "Произошла ошибка " & err.Number & ". " & err.Description, vbInformation Resume EXIT_FUN End Function Пусть меня поправят, ибо я не программист. Надеюсь, что с этим делать дальше, знаешь. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 13:48:18 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
MadinaПривет всем!!! Есть поле "НомераДокументов" с разными данными: УЕ195867, 7894856685, М465768, мне нужно получить поле с данными: 195867, 7894856685, 465768, т.е. если первые буквы, то их откинуть, если цифры, то оставить. Попробывала написать вот так: Номер: IsNumeric(Mid([НомерДокумента];1;2))=ложь, но.......? Заранее спасибо. А так ? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Я так думая! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 13:48:25 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Давид, а ты свою zzz проверял? Ну и как? Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 13:56:50 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Iskander68 Давид, а ты свою zzz проверял? Ну и как? Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 А как же. Обижаеш началник! Ну правда надо так... Код: plaintext Звиняйте, бывает -> Очепятка! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:07:16 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Зрю через стены, что у тебя Option Explicit не стоит. А напрасно, батенька! -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:14:32 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Iskander68 Зрю через стены, что у тебя Option Explicit не стоит. А напрасно, батенька! Ну не стоит... Ну упал... На пол... Но ведь работает и подходит к случаю, а если не позволяет воспитание, поставтье Код: plaintext 1. С приветом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:21:42 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Давид, можно вопрос, вот я написала в модуле ту функцию, что вы мне дали, назвала ее RreDaty() потом когда в запросе я пишу в строке условия, в скобки я должна написать название поля [НомерДокумента], да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:21:49 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Все равно не работает - по крайней мере у меня. А вот если все-таки объявить функции аргумент (как оно здесь по логике вещей и требуется) Public Function (Field as String) as String etc., то работает. Что я сделал. Вставил твою функцию в модуль (пришлось дописать dim i as Integer). Вызвал в запросе. Выдает ошибку TypeMismatch. -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:23:07 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Мадина, извините на навязчивость, но любопытно, мой вариант у вас сработал? -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:23:56 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
MadinaДавид, можно вопрос, вот я написала в модуле ту функцию, что вы мне дали, назвала ее RreDaty() потом когда в запросе я пишу в строке условия, в скобки я должна написать название поля [НомерДокумента], да? Madina Пожалуйста, напишие запрос, о котором Вы говорите. К сожалению я не понял, о чем конкретно речь. Isrander68 Возможно потому, что у меня А'97 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:34:07 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Извините Искандер68, но нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:39:29 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Давид у меня ещё одна проблема, у меня это поле числовое, а в процедуре тип переменным дали строковые, вот., как быть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:46:07 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
MadinaДавид, можно вопрос, вот я написала в модуле ту функцию, что вы мне дали, назвала ее RreDaty() потом когда в запросе я пишу в строке условия, в скобки я должна написать название поля [НомерДокумента], да? Кажется понял. Это я проверя, потом копировал, вот кое-что и пропало.Извините. Исправленное... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:47:55 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
я поменяла на текстовый, а она все равно выдает ошибку: "Неопределенная функция PreDaty() в выражение" Сам запрос простой : SELECT ГВЦ.НомерДокумента FROM ГВЦ WHERE (((ГВЦ.НомерДокумента)=PreDaty())); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:51:22 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Мадина, а что вы сделали (с моей функцией), опишите, пожалуйста -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 14:59:33 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Madinaя поменяла на текстовый, а она все равно выдает ошибку: "Неопределенная функция PreDaty() в выражение"] Ничего не понял!!! Если использовать в запросе ф-цию то ей надо передать поле в качастве параметра и саму ф-цию переписать с параметрами. Но тогда что с чем в запросе сравнивать??? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:03:04 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
"Давид у меня ещё одна проблема, у меня это поле числовое, а в процедуре тип переменным дали строковые, вот., как быть..." Это какое поле числовое, в котором "УЕ195867, 7894856685, М465768"? -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:03:55 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Давид, а у тебя моя функция сработала? -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:04:53 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Iskander68 Давид, а у тебя моя функция сработала? -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 Не пробовал. НО, а если в переди 1 буква, или сзади 3, а в середине 2 . Необходимо изымать ВСЕ буквы, оставляя только цифири. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:12:21 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Насколько я понял задачу, в значении поля может быть некоторое количество букв (1-2). Остальные - цифру. Исходя из этого и написал функцию. Если нужно вычленить все цифры, то само собой, нужно по другому делать. -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:17:18 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:19:16 |
|
||
|
Преобразовать данные поля!!
|
|||
|---|---|---|---|
|
#18+
ДАВИД Iskander68 Давид, а у тебя моя функция сработала? -- Regards Alexander Artamonov Posted via ActualForum NNTP Server 1.1 Не пробовал. НО, а если в переди 1 буква, или сзади 3, а в середине 2 . Необходимо изымать ВСЕ буквы, оставляя только цифири. написано что первые буквы остальные цифры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2004, 15:21:02 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32794244&tid=1670166]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 342ms |

| 0 / 0 |
