powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Непустые поля таблицы определяются как пустые
7 сообщений из 7, страница 1 из 1
Непустые поля таблицы определяются как пустые
    #37666529
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написал такой код:

CLOSE TABLES
USE 'С:\SL101.DBF' IN 0 ALIAS 'table1'
SELECT table1

GO TOP
flag1 = .F.
perem = table1.bi
DO WHILE !EOF()
DO CASE
CASE VARTYPE(perem) = 'N'
IF ISBLANK(perem) = .F.
? RECNO(), perem
flag1 = .T.
EXIT
ENDIF
CASE VARTYPE(perem) = 'C'
IF EMPTY(perem) = .F.
? RECNO(), perem
flag1 = .T.
EXIT
ENDIF
CASE VARTYPE(perem) = 'L'
IF EMPTY(perem) = .F.
? RECNO(), perem
flag1 = .T.
EXIT
ENDIF
CASE VARTYPE(perem) = 'D'
IF DTOC(perem) = '//'
? RECNO(), perem
flag1 = .T.
EXIT
ENDIF
OTHERWISE
? 'Тип не подходит:'
? VARTYPE(perem)
EXIT
ENDCASE
SKIP
ENDDO
IF flag1 = .F.
? 'Пусто!'
ENDIF

SELECT table1
USE

В данной таблице есть заполненные поля Bi (character), но почему-то после выполнения вышеприведённого кода выводится сообщение, что эти поля пустые! То же самое получается, если подставлять вместо perem поля других типов, тоже заполненные. В чём здесь дело? Кто с этим сталкивался?
...
Рейтинг: 0 / 0
Непустые поля таблицы определяются как пустые
    #37666537
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как написал - так и работает. Это должно быть внутри цикла, а не перед:
Код: sql
1.
perem = table1.bi



PS сообщения нормально оформляй, а то глаза сломать можно.
Есть тэг SRC для оформления кода
Код: sql
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.
CLOSE TABLES
USE 'С:\SL101.DBF' IN 0 ALIAS 'table1'
SELECT table1

GO TOP
flag1 = .F.
DO WHILE !EOF()
perem = table1.bi
	DO CASE
	CASE VARTYPE(perem) = 'N'
		IF ISBLANK(perem) = .F.
			? RECNO(), perem
			flag1 = .T.
			EXIT
		ENDIF
	CASE VARTYPE(perem) = 'C'
			IF EMPTY(perem) = .F.
			? RECNO(), perem
			flag1 = .T.
			EXIT
		ENDIF
	CASE VARTYPE(perem) = 'L'
			IF EMPTY(perem) = .F.
			? RECNO(), perem
			flag1 = .T.
			EXIT
		ENDIF
	CASE VARTYPE(perem) = 'D'
			IF DTOC(perem) = '//'
			? RECNO(), perem
			flag1 = .T.
			EXIT
		ENDIF
	OTHERWISE
		? 'Тип не подходит:'
		? VARTYPE(perem)
		EXIT
	ENDCASE
	SKIP
ENDDO
IF flag1 = .F.
	? 'Пусто!'
ENDIF

SELECT table1
USE

...
Рейтинг: 0 / 0
Непустые поля таблицы определяются как пустые
    #37666540
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
...
flag1 = .F.
DO WHILE !EOF()
 perem = table1.bi
 DO CASE
 CASE VARTYPE(perem) = 'N'
...
...
Рейтинг: 0 / 0
Непустые поля таблицы определяются как пустые
    #37666543
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Спасибо. Всё заработало. А в теге src выбирать sql? (
Код: sql
1.
Так?

)
...
Рейтинг: 0 / 0
Непустые поля таблицы определяются как пустые
    #37666547
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
9IKOBА в теге src выбирать sql?
Да.
Еще есть кнопочка "Предварительный просмотр": пишешь, давишь и смотришь как будет выглядеть после отправки.
...
Рейтинг: 0 / 0
Непустые поля таблицы определяются как пустые
    #37666551
9IKOB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Благодарю
...
Рейтинг: 0 / 0
Непустые поля таблицы определяются как пустые
    #37666578
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще можно все эти действия проделать, например, так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT TOP 1 RECNO() as Record, bi as Value ;
 FROM c:\SL101.DBF ;
 WHERE !EMPTY(bi) ;
 ORDER BY 1 ;
 INTO CURSOR TMP
DO CASE
 CASE _TALLY=0
  ? 'Пусто!'
 CASE !INLIST(VARTYPE(Value),'N','C','L','D')
  ? 'Тип не подходит: ' + VARTYPE(Value)
 OTHERWISE
  ? Record, Value
ENDCASE
USE
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Непустые поля таблицы определяются как пустые
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]