Вверх ↑
Ответов: 897
Рейтинг: 190
#1: 2025-04-26 15:22:02 ЛС | профиль | цитата
Serascer писал(а):
а нельзя сделать сперва создание файла базы данных

Можно. положи эту схему в туже папку, удали файл MyDB.db. Запусти схему.
Add(MainForm,4060584,357,217)
{
Width=996
Height=395
Point(onClose)
link(onCreate,13411267:doOpen,[])
link(onClose,13411267:doClose,[])
}
Add(Label,12422937,182,294)
{
Width=980
Height=50
Align=2
Caption=""
AutoSize=1
}
Add(Button,9429861,301,294)
{
Left=10
Top=15
Width=120
Caption="Add New from Excel"
link(onClick,12479767:doExecute,[])
}
Add(Edit,10850546,406,294)
{
Left=160
Top=15
Width=305
Text=""
ReadOnly=0
link(onChange,3595730:doWork,[])
}
Add(ODialog,12479767,357,294)
{
Filter="Excel|*.xlsx"
link(onExecute,10850546:doText,[])
}
Add(DS_SQLite,13411267,406,231)
{
Name="fromExcel"
FileName="MyDB.db"
link(onOpen,10856566:doExec,[])
}
Add(MTStrTbl,3086052,231,294)
{
Width=506
Height=244
Align=5
Name="tabl"
Columns=#9:Партномер|6:Модель|25:Регулировка по высоте, мм|16:Портретный режим|8:Описание|
ColorItems=0
Redaction=0
Grid=0
}
Add(MST_DB,2969440,630,210)
{
MSTControl="tabl"
}
Add(DSC_Query,15295346,574,210)
{
SQL="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"
DSManager="fromExcel"
link(onQuery,2969440:doAddRow,[])
}
Add(DSC_Query,14013266,574,126)
{
SQL="SELECT\r\n"Количество записей в базе - " || COUNT(*)\r\nFROM\r\n [Serascer]\r\n;\r\n"
DSManager="fromExcel"
link(onQuery,4060584:doCaption,[(618,132)(618,94)(347,94)(347,223)])
}
Add(Hub,14561010,518,231)
{
InCount=2
OutCount=4
link(onEvent1,14013266:doQuery,[(543,237)(543,132)])
link(onEvent2,3674884:doClear,[(550,244)(550,174)])
link(onEvent3,15295346:doQuery,[(557,251)(557,216)])
link(onEvent4,15121271:doColAction,[])
}
Add(VBJScript,3595730,455,294)
{
@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:doEvent2,[(501,314)(501,244)])
}
Add(DSC_Exec,4246386,525,294)
{
DSManager="fromExcel"
}
Add(MST_ColAction,15121271,574,252)
{
Action=9
MaxColWidth=1000
Index=-2
MSTControl="tabl"
}
Add(DSC_Exec,10856566,455,231)
{
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,14561010:doEvent1,[])
}
Add(MST_Clear,3674884,574,168)
{
MSTControl="tabl"
}



Твою схему чуть позже посмотрю.
карма: 18

1
Голосовали:Serascer
Редактировалось 1 раз(а), последний 2025-04-26 15:39:16