|
|
|
| Есть форма - товарный чек
перечень позиций -
пп наименование ед. кол. цена сумма
форма не имеет источника строк.
как без применения таблиц, строки перенести в отчёт, при условии что строк может быть любое(до7) количество.
таблицу не предлагать....
отчёт должен так же отобразить только существующее количечтво строк, подтянув свой подвал, до самой нижней из них. | |
|
| |
|
|
|
| а шо за жосткие условия такие? :)) | |
|
| |
|
|
|
| Это просто я извращенец такой....
А у тебя есть версия для печати?
как создать такой виртуальный рекордсет, что ба там поля были текстовые и что ба туда данные запихивать можно было, а потом задать этот rst как источник данных для отчёта.....
http://am.rusimport.ru/msaccess/f2.aspx?type=1&id=34774&page=-1 | |
|
| |
|
|
|
| вот чёта похожее - надо попробовать
Option Compare Database
Option Explicit
Public rs As New ADODB.Recordset
'Dim rs As New ADODB.Recordset
Private Sub Кнопка12_Click()
Dim i As Integer
With rs
With .Fields
.Append "ID", adInteger
.Append "Name", adChar, 55
End With
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open
For i = 1 To 1000
.AddNew
!ID = i
!Name = "value_" & CStr(i)
Next i
.UpdateBatch 'без этого в форме не отобразиться
End With
Set Me.Recordset = rs
|
| |
|
| |
|
|
|
|
задать этот rst как источник данных для отчёта
|
Это вряд-ли получится. | |
|
| |
|
|
|
| чё это? | |
|
| |
|
|
|
| пиши сразу в ворд или эксель | |
|
| |
|
|
|
|
форма - товарный чек ... не имеет источника строк.
|
Ну допустим. А что такое "перечень позиций", которых может быть до 7? Просто поле в несколько строк? | |
|
| |
|
|
|
| Блин. А зачем в таком случае этот отчет? может данные формы на печать и все.
Хотя вам виднее. | |
|
| |
|
|
|
| просто текстовые поля 7 штук
===========================
я ващето уже написал всё..........
спасибо!!!!
Dim i As Integer
'---------------------------------------------------------------------------
On Error GoTo FORMIRUEM_Error
'---------------------------------------------------------------------------
Set rs = New ADODB.Recordset
With rs
With .Fields
.Append "pp", adInteger
.Append "Name_", adChar, 255
.Append "ED", adChar, 255
.Append "Kol", adChar, 255
.Append "Price", adCurrency, 25
.Append "Summa", adCurrency, 25
End With
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open
For i = 0 To 6
If NZVB(Me!pp(i)) = "" Then Exit For
.AddNew
!pp = NZVB(Me!pp(i))
!NAME_ = NZVB(Me!NAME_(i))
!ED = NZVB(Me!ED(i))
!Kol = NZVB(Me!Kol(i))
!Price = NZVB(Me!Price(i))
!Summa = NZVB(Me!Summa(i))
Next i
.UpdateBatch 'без этого в форме не отобразиться
End With
Set DataReport1.DataSource = rs
If rs.RecordCount <> 0 Then
rs.MoveFirst
DataReport1.Sections("Section5").Controls("ITOG_KOL").Caption = _
"Количество наименований: " & rs.RecordCount
DataReport1.Sections("Section5").Controls("ITOG_SUMMA").Caption = _
"Всего по чеку: "
DataReport1.LeftMargin = 1
DataReport1.TopMargin = 1
'Printer.Orientation = 2
'показываем отчет
'If Me!LOKS1 <> 0 Then Call DataReport1.Show(vbModal)
'If Me!LOKS1 = 0 Then Call DataReport1.PrintReport(True, rptRangeAllPages)
Call DataReport1.Show(vbModal)
End If
|
| |
|
| |
|
|
|
| Вот тока ориентацию отчёта сменить не удаётся....
Даже херрургическим путём...
кто знает - как этого добиться.
Printer.Orientation = 2 - это не помогает | |
|
| |
|
|
|
| А можно глянуть что это получилось такое? Потрогать хоцца. | |
|
| |