Вверх ↑
Этот топик читают: Гость
Ответов: 2125
Рейтинг: 159
#16: 2009-06-19 16:22:38 ЛС | профиль | цитата
nesco писал(а):
SQL

Допустим, у нас есть произвольный XML-файл. Какие таблицы в нём присутствуют и какие поля там есть? Можно, конечно, для каждого тэга с определённым именем одноимённую таблицу представить, но пока я не очень представляю, как можно представить в виде таблиц всю иерархию произвольного XML-файла.
карма: 1

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#17: 2009-06-19 16:29:23 ЛС | профиль | цитата
tsdima писал(а):
как можно представить в виде таблиц всю иерархию произвольного XML-файла

Ну, произвольного -- никак. Но есть таблицы в формате xml. Вот пример такой таблицы, полученной в Excel


  <Table ss:ExpandedColumnCount="4" ss:ExpandedRowCount="13" x:FullColumns="1"
x:FullRows="1">
<Row>
<Cell><Data ss:Type="String" x:Ticked="1">Номер</Data><NamedCell
ss:Name="Telbook"/></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Имя</Data><NamedCell
ss:Name="Telbook"/></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Телефон</Data><NamedCell
ss:Name="Telbook"/></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Адрес</Data><NamedCell
ss:Name="Telbook"/></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">1</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Пупкин</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">2123456</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Москва</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">2</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Витя</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79283052877</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Киев</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">3</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Оля</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79658348877</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Орел</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">4</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Олег</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79255679017</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Москва</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">5</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Тимофей</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79023174133</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Москва</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">6</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Виктор</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">567432</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Брянск</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">7</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Валентин</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">908070</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Киев</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">8</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Вячеслав</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79256173445</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Москва</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">9</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Леонид</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79333790876</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Москва</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">10</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Григорий</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">890890</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Мурманск</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">11</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Григорий</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">+79563777654</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Уфа</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="Number">12</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">nesco</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">461594</Data></Cell>
<Cell><Data ss:Type="String" x:Ticked="1">Сочи</Data></Cell>
</Row>
</Table>
карма: 22

0
Ответов: 5227
Рейтинг: 587
#18: 2009-06-19 18:46:22 ЛС | профиль | цитата
Pirr, могу помочь с экспортом в Exсel и Word. (через скрипты)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 1397
Рейтинг: 50
#19: 2009-06-19 19:23:28 ЛС | профиль | цитата
Если хорошо поискать по форуму, то можно найти готовые компоненты для нормальной работы с Word Author=Вячеслав
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 5227
Рейтинг: 587
#20: 2009-06-19 20:40:04 ЛС | профиль | цитата
Валерий, и что из этого Они точно также используют ту же самую технологию COM. Но боюсь это тебе ничего не говорит.
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 409
Рейтинг: 17
#21: 2009-06-19 20:42:20 ЛС | профиль | цитата
andrestudio писал(а):
могу помочь с экспортом в Exсel и Word. (через скрипты)

Спасибо, но что толку... в скриптах я не бум-бум, разве что ты вложеш их в IC и объяснишь какие точки для чего...

Валерий писал(а):
Если хорошо поискать по форуму, то можно найти готовые компоненты для нормальной работы с Word Author=Вячеслав

Сейчас хорошо поищем
карма: 0

0
Ответов: 223
Рейтинг: 24
#22: 2009-06-19 20:49:34 ЛС | профиль | цитата
Pirr, компоненты для Word Author=Вячеслав у меня есть дома на компе , если не найдеш -то скину в файлообмен -если надо с примерами



карма: 0

0
Ответов: 5227
Рейтинг: 587
#23: 2009-06-19 20:54:35 ЛС | профиль | цитата
Pirr, а там и не надо много бум-бум

Вот тебе простой пример экспорта, просто вставь этот кусок кода в компонент VBJScript и запусти компиляцию.


#bas
Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = True
objExcel.Workbooks.Add

objExcel.Cells(1, 1).Value = "Name"
objExcel.Cells(1, 1).Font.Bold = TRUE
objExcel.Cells(1, 1).Interior.ColorIndex = 30
objExcel.Cells(1, 1).Font.ColorIndex = 2
objExcel.Cells(2, 1).Value = "Test value 1"
objExcel.Cells(3, 1).Value = "Test value 2"
objExcel.Cells(4, 1).Value = "Tets value 3"
objExcel.Cells(5, 1).Value = "Test value 4"

Set objRange = objExcel.Range("A1","A5")
objRange.Font.Size = 14

Set objRange = objExcel.Range("A2","A5")
objRange.Interior.ColorIndex = 36

Set objRange = objExcel.ActiveCell.EntireColumn
objRange.AutoFit()


меняй числовые значения и поймёшь что к чему даже методом тыка


карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 409
Рейтинг: 17
#24: 2009-06-19 21:49:44 ЛС | профиль | цитата
wasya писал(а):
компоненты для Word Author=Вячеслав у меня есть дома на компе , если не найдеш -то скину в файлообмен -если надо с примерами

Вроде ношел ComponentsWord_3.rar, правда еще не разобрался как это хозяйство установить.

andrestudio писал(а):
Вот тебе простой пример экспорта,

Спасибо. Сейчас поэксперементирую.
А наличие Микрософт Офиса - обязательно? а то у меня его нет на домашнем компе.
карма: 0

0
Ответов: 5227
Рейтинг: 587
#25: 2009-06-20 06:50:51 ЛС | профиль | цитата
Pirr писал(а):
А наличие Микрософт Офиса - обязательно?


Pirr, а сам то как думаешь Если всёже желание не отпадёт то советую если есть возможность обзавестись книгой по VBA. (есть разделы в самоучителях по офису, но там достаточно формально изложено, лучше книгу)

VBA (Visual Basic for Applications) — это диалект языка Visual Basic, расши-
ряющий его возможности и предназначенный для работы с приложениями
Microsoft Office и другими приложениями от Microsoft и третьих фирм.

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 409
Рейтинг: 17
#26: 2009-06-23 13:11:25 ЛС | профиль | цитата
Ну вот, попробовал сделать схему для работы с DBF. на основе примеров...
с маленькими базами работает а с базой размером 50-150мб - Rutime Error
И тормоза жудкие при работе с DBF.
Компонентик для прямой работы с DBF - был бы не лишним.

nesco - я не плачу! Буду стойко делать свою задачу в Акцессе!
карма: 0

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#27: 2009-06-23 13:46:45 ЛС | профиль | цитата
Pirr писал(а):
Компонентик для прямой работы с DBF - был бы не лишним

Вот ты занимаешься базами, изучи и сделай, а все скажут тебе спасибо
карма: 22

0
Ответов: 5227
Рейтинг: 587
#28: 2009-06-23 23:15:07 ЛС | профиль | цитата
Pirr, как успехи , нашёл для тебя пару примеров c DBF, + бонус "база любителей коротковолновиков с явками и телефонами" где то 60000 записей, вроде пашет. залил сюды http://slil.ru/27784325 1,7 Mb там же ссылка на информацию по ADO

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26113
Рейтинг: 2126
#29: 2009-06-24 00:29:54 ЛС | профиль | цитата
Pirr, вот ты говорил, что не читается у тебя ODBC драйверами база DB. А у меня читается. База взята от andrestudio. Конечно, сложнее получилось, чем на VBS, но довольно шустро читает всю базу а не кусочки (я с этим не стал заморачиваться)



Add(MainForm,3171043,119,84)
{
Left=20
Top=105
Width=390
Height=415
Caption="dBase_with_ODBCDataSource"
Position=1
link(onCreate,11947023:doStrCat,[])
}
Add(Button,941652,161,315)
{
Left=305
Top=5
Width=75
TabOrder=-1
Caption="Подключить"
link(onClick,12433424:doOpen,[])
}
Add(StringTable,6078793,518,287)
{
Left=5
Top=165
Width=375
Height=210
Point(doAddColumn)
}
Add(MT_Enum,5673081,371,322)
{
link(onItem,6078793:doAddColumn,[])
}
Add(MT_String,16321824,371,259)
{
link(onResult,10028346:doString,[])
}
Add(Edit,11108326,217,98)
{
Left=5
Top=5
Width=295
Text=""
link(onChange,6971676:doPart,[])
}
Add(Dir,5145339,168,49)
{
}
Add(StrCat,11947023,168,98)
{
Str2="ric.dbf"
link(onStrCat,11108326:doText,[])
link(Str1,5145339:CurrentDir,[])
}
Add(FormatStr,5564056,322,98)
{
DataCount=1
Mask="Driver={Microsoft dBASE Driver (*.dbf)};
DriverId=533;
Description=dBase 5;
FIL=dBase 5;
DefaultDir=%1;
PageTimeout=600;
CollatingSequence=International;"
Point(FString)
link(onFString,14216946:doText,[])
}
Add(FormatStr,10216816,357,140)
{
Mask="SELECT * FROM %1"
Point(FString)
link(onFString,90655:doText,[])
}
Add(FilePart,6971676,266,98)
{
NameWOExt=1
link(onPath,5564056:doString,[])
link(onName,10216816:doString,[(312,111)(312,146)])
}
Add(Memo,14216946,413,77)
{
Left=5
Top=30
Width=375
Height=105
}
Add(DSC_Query,13233332,266,315)
{
DSManager="odbc_driver_1"
link(onQuery,16321824:doStr,[(311,321)(311,265)])
link(onColumns,439322:doAdd,[])
link(SQL,90655:Text,[(272,183)(419,183)])
}
Add(Edit,90655,413,140)
{
Left=5
Top=140
Width=375
Text=""
}
Add(DS_ODBC,12433424,217,315)
{
Name="odbc_driver_1"
link(onCreate,13233332:doQuery,[])
link(Driver,5564056:FString,[(223,165)(328,165)])
}
Add(Charset,11068760,462,259)
{
link(onCharset,6078793:doAdd,[(506,265)(506,293)])
}
Add(MT_Add,439322,322,322)
{
InputMT=1
link(onAdd,5673081:doEnum,[])
link(Data,13681477:Value,[])
}
Add(Memory,13681477,322,273)
{
Default=String(N)
}
Add(EventFromData,9210721,413,210)
{
link(onEvent,16428882:doOperation,[])
}
Add(Math,16428882,462,210)
{
Op2=1
ResultType=0
link(onResult,9210721:doData,[(506,216)(506,204)(401,204)(401,216)])
link(Op1,6078793:Count,[(468,198)(496,198)(496,344)(524,344)])
}
Add(FormatStr,10028346,413,259)
{
Mask="%1;%2"
link(onFString,11068760:doCharset,[])
link(Str1,9210721:GetData,[])
}

карма: 22

0
Ответов: 5227
Рейтинг: 587
#30: 2009-06-24 07:54:46 ЛС | профиль | цитата
nesco, да там времени видать вагон только преобразование типов уходит, поэтому и пытался делать динамическую подгрузку, для просмотра небольших баз и вот этого достаточно code_13873.txt

карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
файлы: 1code_13873.txt [1.2KB] [557]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)