Вверх ↑
Ответов: 897
Рейтинг: 190
#1: 2025-04-26 19:03:13 ЛС | профиль | цитата
Serascer писал(а):
Пока остановился на этом варианте

Чуть-чуть поправил
Add(MainForm,4060584,462,126)
{
Width=1017
Height=662
Caption="Таблица мониторов"
BorderStyle=1
Point(onClose)
link(onCreate,13411267:doOpen,[])
}
Add(Button,9429861,574,329)
{
Left=10
Top=10
Width=125
Caption="Добавить новый файл"
link(onClick,12479767:doExecute,[])
}
Add(ODialog,12479767,616,329)
{
Filter="Excel|*.xlsx"
link(onExecute,3595730:doWork,[])
}
Add(DS_SQLite,13411267,511,140)
{
Name="fromExcel"
FileName="MyDB.db"
link(onOpen,10856566:doExec,[])
}
Add(MTStrTbl,3086052,133,161)
{
Left=10
Top=40
Width=980
Height=417
Name="tabl"
Columns=#9:Партномер|6:Модель|21:Регулировка по высоте|16:Портретный режим|8:Описание|
ColorItems=0
Redaction=0
Grid=0
link(onClick,10638613:doSeparateMT,[])
}
Add(MST_DB,2969440,833,224)
{
MSTControl="tabl"
}
Add(DSC_Query,15295346,777,224)
{
DSManager="fromExcel"
link(onQuery,2969440:doAddRow,[])
}
Add(DSC_Query,14013266,777,140)
{
SQL="SELECT\r\n"Количество записей в базе - " || COUNT(*)\r\nFROM\r\n [Serascer]\r\n;\r\n"
DSManager="fromExcel"
link(onQuery,7299857:doText,[])
}
Add(Hub,14561010,721,245)
{
InCount=4
OutCount=4
link(onEvent1,14013266:doQuery,[(746,251)(746,146)])
link(onEvent2,3674884:doClear,[(753,258)(753,188)])
link(onEvent3,15295346:doQuery,[(760,265)(760,230)])
link(onEvent4,15121271:doColAction,[])
}
Add(VBJScript,3595730,658,329)
{
@Hint=#16:Query SQL Server|
WorkPoints=#6:doWork|
EventPoints=#6:onRead|7:onClear|6:onStop|
Script=#10:Dim strOut|22:Sub doWork(Data,Index)|52: Set objExcel = CreateObject("Excel.Application")|52: Set objWorkbook = objExcel.Workbooks.Open (Data)|19: sys.onClear nil|4: |17: ' Лист1.Select|38: 'objExcel.Sheets("Итоговое").Select|43: objExcel.ActiveSheet.Cells(1, 1).Select |5: |33: intRow = 2 ' начальная строка|4: |51: Do Until objExcel.Cells(intRow,1).Value = "" |121: strOut = "INSERT OR IGNORE INTO [Serascer] VALUES(" & "'" & objExcel.Cells(intRow, 1).Value & "'" & "," & "'" &_ |61: objExcel.Cells(intRow, 3).Value & "'" & "," & "'" &_ |60: objExcel.Cells(intRow, 9).Value & "'" & "," & "'" &_|61: objExcel.Cells(intRow, 12).Value & "'" & "," & "'" &_|48: objExcel.Cells(intRow, 17).Value & "');"|26: sys.onRead strOut |27: intRow = intRow + 1|19: strOut = ""|8: Loop|4: |17: objExcel.Quit|22: sys.onStop nil |0:|7:End Sub|
UseName=0
link(onRead,4246386:doExec,[])
link(onStop,14561010:doEvent4,[(697,349)(697,272)])
}
Add(DSC_Exec,4246386,714,329)
{
DSManager="fromExcel"
}
Add(MST_ColAction,15121271,777,266)
{
Action=9
MinColWidth=140
MaxColWidth=1000
Index=-2
MSTControl="tabl"
}
Add(DSC_Exec,10856566,560,140)
{
SQL="CREATE TABLE IF NOT EXISTS "Serascer"(\r\n [PartNumber] CHAR(12) UNIQUE, \r\n [Model] CHAR(25), \r\n [Height_adjustment] CHAR(3), \r\n [Portrait_mode] CHAR(7), \r\n [Description] CHAR);"
DSManager="fromExcel"
link(onExec,6387976:doWork2,[])
}
Add(MST_Clear,3674884,777,182)
{
MSTControl="tabl"
}
Add(Edit,5217928,511,217)
{
Left=295
Top=10
Width=110
Text=""
link(onChange,4487560:doStrCatDlm,[])
}
Add(Edit,4529729,511,259)
{
Left=555
Top=10
Width=275
Text=""
link(onChange,1796459:doStrCatDlm,[])
}
Add(MT_MultiData,10638613,196,161)
{
Count=5
Point(Data)
Point(RemaindData)
link(onData1,11671383:doText,[(235,167)(235,139)])
link(onData2,13541262:doText,[])
link(onData5,2378169:doText,[(235,195)(235,237)])
link(Data,3086052:Select,[(202,152)(188,152)(188,201)(139,201)])
}
Add(Edit,11671383,245,133)
{
Left=10
Top=485
Width=110
Enabled=1
Text=""
ReadOnly=0
}
Add(Label,5413725,140,63)
{
Left=10
Top=465
Width=67
Height=17
Caption="Парт. номер"
}
Add(Label,8424378,224,63)
{
Left=10
Top=510
Width=54
Height=17
Caption="Описание"
}
Add(Edit,13541262,245,168)
{
Left=130
Top=485
Width=275
Enabled=1
Text=""
ReadOnly=0
}
Add(Label,1608245,182,63)
{
Left=130
Top=465
Width=43
Height=17
Caption="Модель"
}
Add(Memo,2378169,245,210)
{
Left=10
Top=530
Width=980
Height=85
ScrollBars=2
ReadOnly=0
}
Add(FormatStr,13162743,630,217)
{
DataCount=1
Mask="SELECT\r\n [PartNumber], \r\n [Model], \r\n [Height_adjustment], \r\n [Portrait_mode], \r\n [Description]\r\nFROM\r\n [Serascer]\r\nWHERE\r\n [PartNumber] LIKE "%1"\r\n ;"
link(onFString,14561010:doEvent2,[(704,223)(704,258)])
}
Add(StrCatDelim,4487560,560,217)
{
Str1="%"
Str2="%"
Point(Delimiter)
link(onStrCatDlm,13162743:doString,[])
}
Add(FormatStr,525904,630,259)
{
DataCount=1
Mask="SELECT\r\n [PartNumber], \r\n [Model], \r\n [Height_adjustment], \r\n [Portrait_mode], \r\n [Description]\r\nFROM\r\n [Serascer]\r\nWHERE\r\n [Model] LIKE "%1"\r\n ;"
link(onFString,14561010:doEvent3,[])
}
Add(StrCatDelim,1796459,560,259)
{
Str1="%"
Str2="%"
Point(Delimiter)
link(onStrCatDlm,525904:doString,[])
}
Add(Button,3471573,385,203)
{
Left=850
Top=10
Width=125
Caption="Сброс поиска"
Data=String()
link(onClick,7257888:doEvent1,[])
}
Add(Label,14775644,294,21)
{
Left=160
Top=10
Width=125
Height=20
Caption="Поиск парт. номера"
}
Add(Label,3612996,294,63)
{
Left=420
Top=10
Width=125
Height=20
Caption="Поиск модели"
}
Add(Hub,7257888,448,203)
{
OutCount=3
link(onEvent1,6387976:doWork3,[(613,209)])
link(onEvent2,5217928:doText2,[(501,216)(501,230)])
link(onEvent3,4529729:doText2,[(480,223)(480,272)])
}
Add(StatusBar,7299857,840,140)
{
}
Add(FormatStr,7091304,630,140)
{
Mask="SELECT\r\n [PartNumber], \r\n [Model], \r\n [Height_adjustment], \r\n [Portrait_mode], \r\n [Description]\r\nFROM\r\n [Serascer]\r\n;\r\n"
link(onFString,14561010:doEvent1,[(711,146)(711,251)])
}
Add(HubEx,6387976,609,140)
{
link(onEvent,7091304:doString,[])
}

карма: 18

0
Редактировалось 2 раз(а), последний 2025-04-26 19:17:02