Microsoft Access 掲示板

目次(索引)作成 / 4

39 コメント
views
5 フォロー
4
norinori 2021/05/06 (木) 21:25:40

hiroton さん、有難うございます。
感激です!! 以下のように修正しました。
薬品名が並び変わっています!!
ただ、ある範囲までの薬剤が繰り返しはきだされていて、300ページ程になっています。
自分で何とかしようと思ったのですが、どこに問題があるのかもわかりません。
レポートフッターにテキストをtxt目次0~3まで作成しています。他に必要な情報はありますでしょうか? 
宜しくお願い致します。

Option Compare Database
Option Explicit
Dim data As String

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
    data = data & Left(Me!薬品名 & String(12, "・"), 12) & Format(Me.Page, "@@@") & vbCrLf
End Sub

Private Sub レポートフッター_Format(Cancel As Integer, FormatCount As Integer)
    Dim arr
    Dim s
    Const RowCount = 30
    Dim CNT As Long

    '並び替えのために配列にする
    arr = Split(data, vbCrLf)
    '配列を並び替え
    Call ArrayListSort(arr)

    '段組みに振り分ける
    CNT = 0
    For Each s In arr
        Me("txt目次" & CNT \ RowCount) = Me("txt目次" & CNT \ RowCount) & s & vbCrLf
        CNT = CNT + 1
        If CNT >= 120 Then Exit For 'RowCount * 4
    Next
End Sub

Sub ArrayListSort(ary As Variant)
    Dim aryList As Object
    Dim s

    '// .NET FrameworkのArrayListクラスを利用する
    Set aryList = CreateObject("System.Collections.ArrayList")

    For Each s In ary
        Call aryList.Add(s)
    Next
    Call aryList.Sort
    ary = aryList.ToArray
End Sub

通報 ...