Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 ?  [new]
ping_09
Member

Откуда:
Сообщений: 270
Здравствуйте!
Помогите решить проблему.
Пытаюсь просканировать два столбца таблицы формата .xls, чтобы занести данные в таблицу
с форматом .dbf.
У дбфки такая структура:
type c(1),name c(3).
Данные должны в ней храниться в виде чисел.Например,в экселе "мебель",а в дбфке должно быть '1' и.т.д.

К сообщению приложен файл (Таблица.xls - 14Kb) cкачать
3 мар 09, 12:55    [6880956]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
homik
Member

Откуда:
Сообщений: 146
Приблизительно так
Local loexcel As Excel.Application, lnSheetCount,lcSheetName,lnPageNom
Local  oworkbook,isSucces,lnCurNom,lcCurAnswer

m.isSucces=.T.

Try   
	loexcel = Createobject('Excel.Application')
	oworkbook = loexcel.workbooks.Open(lcFileName)  && открываем книгу Эксел
     **      oworkbook.Visible=.t.

	oworkbook.sheets(m.lnSheetNom).Select    && Перходим на нужный лист
	m.lnRowCount=oworkbook.sheets(m.lnSheetNom).UsedRange.Rows.Count && кол-во строк
Catch
	m.isSucces=.F.
Endtry


If m.isSucces=.T.
	For m.lnCurRow=2 To m.lnRowCount
		lnN=oworkbook.sheets(m.lnSheetNom).Cells(m.lnCurRow,Номер столбца).Value  && считали значение  
		lcC=oworkbook.sheets(m.lnSheetNom).Cells(m.lnCurRow,Номер столбца).Value && считали значени
		m.lnCurNom=Iif(Type("lnN")=="N",lnN,0) &&  проверка типа
		m.lcCurAnswer=Iif(Type("lcC")=="C",lcC,"") && проверка типа

&& здесь открыть вспомогательную таблицу, найти в ней номер соответсвующий названию

		If .....  && и если найдено, то вставить запись в основную таблицу
			Insert Into MainAlias(name,nom) ;
				Values(ccccc,nnnnn)
		Endif
	Endfor
Endif

If Type("loexcel")=="O"  &&  закрываем книгу Эксел
	loexcel.displayalerts = .F.
	loexcel.Quit
	loexcel = .Null.
Endif
3 мар 09, 14:25    [6881609]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
ping_09
Member

Откуда:
Сообщений: 270
homik,а как быть,если в столбце1 ячейка объединена,а в столбце2 нет?

К сообщению приложен файл (21.doc - 23Kb) cкачать
3 мар 09, 15:48    [6882186]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
homik
Member

Откуда:
Сообщений: 146
Я бы посоветовал игнорировать столбец 1.
Там у тебя находится признак объединения товара в группы. Это можно сделать в той дополнительной таблице-справочнике, который тебе придется завести.
Например, у тебя
У дбфки такая структура:
type c(1),name c(3).

Лучше будет
У дбфки такая структура:
type c(9),name c(100) - размерность приблизительная.
И в type хранить по заданной структуре
000 000 000 - (пробелы для визуальной удобоваримости.)
Здесь :
первые три цифры - признак чего-то
вторые три цифры - признак еще чего-то
последние три цифры - признак еще чего-то.
3 мар 09, 15:59    [6882280]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
homik
Member

Откуда:
Сообщений: 146
Но по хорошему надо делать две таблицы
1. Id_grup, name_grup
2. Id_grup, Id_tovar, name_tovar.

Это существенно облегчит дальнейшую жизнь :)
3 мар 09, 16:07    [6882370]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
ping_09
Member

Откуда:
Сообщений: 270
Эх...
В моём случае нельзя игнорировать столбец1.
3 мар 09, 16:33    [6882573]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
homik
Member

Откуда:
Сообщений: 146
Соседний топик

[url=]https://www.sql.ru/forum/actualthread.aspx?tid=642995[/url]
3 мар 09, 16:35    [6882590]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
ping_09
Member

Откуда:
Сообщений: 270
homik
Соседний топик

[url=]https://www.sql.ru/forum/actualthread.aspx?tid=642995[/url]


Мне это надо было для реализации совсем другой задачи.
P.S.
Т.е. ты предлагашь отменить объединение ячеек
и дальше обработать занчения такой таблицей .xls?
3 мар 09, 16:51    [6882702]     Ответить | Цитировать Сообщить модератору
 Re: ?  [new]
ping_09
Member

Откуда:
Сообщений: 270
homik
Соседний топик

[url=]https://www.sql.ru/forum/actualthread.aspx?tid=642995[/url]

Мне это надо было для реализации совсем другой задачи.
P.S.
Т.е. ты предлагашь отменить объединение ячеек
и дальше обработать значения такой таблицы .xls?
3 мар 09, 16:52    [6882709]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить