Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
как при помощи АДО заполнить первый столбец в экселе данными
|
|||
|---|---|---|---|
|
#18+
как при помощи АДО заполнить первый столбец в экселе данными запроса из Аксесса Соединения я делаю так Dim cnn As ADODB.Connection Set cnn = New ADODB.Connection cnn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & _ "C:\БАЗА ДАННЫХ\LOGISNIC\UUK1_23_10_03.MDB" cnn.Open Dim varData As Variant Dim intCount As Integer Dim intI As Integer Dim SQL As String SQL = "SELECT тЗнач.значТ FROM тЗнач;" '------------------------------------------------ ' здесь мы объявляем и делаем рекордсет Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset Note that we can't move backwards through ' this recordset. Set rst.ActiveConnection = cnn rst.Open (SQL) ' закрываем рекордсет '------------------------------------------------ rst.Close Set rst = Nothing ' окончание коннекта '------------------------------------------------ cnn.Close Set cnn = Nothing Как теперь сделать, чтоб первому столбцу был присвоен мой рекордсет!?? Или мне нужно пройтись по рекордсету и каждой ячейке в цикле присвоить очередное значение!????????? (примерно так) или есть решение попрроще???? ' ' Get all the rows, but only the CompanyName ' and ContactName fields. varData = rst.GetRows(Fields:=Array("значТ")) ' How many rows did it actually send back? intCount = UBound(varData, 2) + 1 ' Loop through all the rows, printing out the ' data For intI = 0 To intCount - 1 Step 1 ' Debug.Print intI, varData(0, intI) и как то далее...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 13:15 |
|
||
|
как при помощи АДО заполнить первый столбец в экселе данными
|
|||
|---|---|---|---|
|
#18+
См. хелп к методу Excel.Range.CopyFromRecordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2004, 13:20 |
|
||
|
как при помощи АДО заполнить первый столбец в экселе данными
|
|||
|---|---|---|---|
|
#18+
Думаю разеорешься Public Function excel_Price() Dim s As String Dim Lastend, rc, i, j As Integer Set XL = CreateObject("Excel.Application") 'XL.Workbooks.Add ("C:\Книга1.xls") XL.Workbooks.Add ("") XL.Visible = True Lastend = 20 'Set MainRst = CurrentDb.OpenRecordset("SELECT Distinct MKart.SupplierID FROM MKart order by 1;", dbOpenSnapshot, dbReadOnly, dbReadOnly) Set MainRst = CurrentDb.OpenRecordset("Groups", dbOpenSnapshot, dbReadOnly, dbReadOnly) MainRst.MoveFirst While Not MainRst.EOF 's = "SELECT TNomObj.Cd, TNomObj.Nm, TNomObj.NoMax, TNomObj.NoMin, TSklkrtObj.Cn, TSklkrtObj.Grp FROM TNomObj INNER JOIN TSklkrtObj ON TNomObj.Rcd = TSklkrtObj.RcdNom Where TSklkrtObj.Grp = 28" ' + CStr(MainRst.Fields(1).Value) Set rst = CurrentDb.OpenRecordset("SELECT TNomObj.Cd, TNomObj.Nm, TNomObj.NoMax, TNomObj.NoMin, TSklkrtObj.Cn, TSklkrtObj.Grp FROM TNomObj INNER JOIN TSklkrtObj ON TNomObj.Rcd = TSklkrtObj.RcdNom Where (TSklkrtObj.Grp = """ + CStr(MainRst.Fields(1).Value) + """)", dbOpenSnapshot, dbReadOnly, dbReadOnly) 'Set Rst = CurrentDb.OpenRecordset("Таблица2") If rst.RecordCount > 0 Then rst.MoveLast rst.MoveFirst rc = rst.Fields.Count j = 1 ReDim ar(1 To rst.RecordCount, 1 To rst.Fields.Count) As Variant While Not rst.EOF For i = 0 To rc - 1 ar(j, i + 1) = rst.Fields(i).Value Next i j = j + 1 rst.MoveNext Wend 'Вывод на экран Call OutPut(Array(MainRst.Fields(1).Value, MainRst.Fields(2).Value, "", "", "", "", ""), adres(Lastend, 1, 1, 7), "Times New Roman", 12, False, False, True, True, False) Lastend = Lastend + 1 Call OutPut(ar, adres(Lastend, 1, rst.RecordCount, rst.Fields.Count), "Times New Roman", 10, True, True, Flase, False, False) Lastend = Lastend + rst.RecordCount 'отступ между группами Lastend = Lastend + 2 rst.Close End If MainRst.MoveNext Wend End Function Public Sub OutPut(ar, adrstr, FontName, FontSize, Abris, AutFit, Bold, Italic, Under) XL.ActiveWorkbook.Worksheets(1).Range(adrstr).Value = ar XL.ActiveWorkbook.Worksheets(1).Range(adrstr).Select If Abris = True Then XL.Selection.Borders(xlDiagonalDown).LineStyle = xlNone XL.Selection.Borders(xlDiagonalUp).LineStyle = xlNone With XL.Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With XL.Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With XL.Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With XL.Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With If XL.Selection.Columns.Count > 1 Then With XL.Selection.Borders(xlInsideVertical) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End If If XL.Selection.rows.Count > 1 Then With XL.Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With End If End If XL.Selection.Font.Name = FontName XL.Selection.Font.Size = FontSize If AutFit = True Then Call XL.Selection.Columns.AutoFit End If XL.Selection.Font.Bold = Bold XL.Selection.Font.Italic = Italic If Under = True Then XL.Selection.Font.Underline = 2 End If End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2004, 19:50 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=385&tid=2170068]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 388ms |

| 0 / 0 |
