Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


114 / 500 ページ ←次へ | 前へ→

【11010】ドライブの内容をCOPYできますか?
質問  NEMOTO  - 09/2/19(木) 15:21 -

引用なし
パスワード
   VBAでAドライブのエクセルファイルをDドライブにCOPYできるのでしょうか?よろしく御願いします。
・ツリー全体表示

【11009】Re:空白データの処理
発言  トト  - 09/2/19(木) 13:07 -

引用なし
パスワード
   ▼まつ さん:
クロス集計クエリではなく、普通の集計クエリを使うと良いかと思います。

A : Sum(IIF(選択A=0 and 選択B=0,[停止時間],0))
B : Sum(IIF(選択A=0 and 選択B=-1,[停止時間],0))

クエリの様子が今一分からないので、フィールドの式のみですが、
こんな感じです。
・ツリー全体表示

【11008】空白データの処理
質問  まつ  - 09/2/19(木) 12:48 -

引用なし
パスワード
   いつもお世話になります。
また一つ問題があり質問させて頂きます。

問題は、現在テーブルにある4つのフィールドを使ってクロス集計してます
テーブルA:ロット日(日付型),停止時間(数値型)
      選択A(整数型),選択B(整数型)
クロス集計:ロット日(行見出し)、分類(列見出し)
      停止時間の合計(値)、合計停止時間(行見出し)

テーブルの選択Aと選択Bはオプションボタンでテーブルの値としては 0 or -1
が入力されています。

そこで、クロス集計の分類ではIIf関数を使い、(選択A、選択B)が
(0,0)(-1,0)(0,-1)(0,0)の4つに分けそれぞれ
A,B,C,Dという見出しにして停止時間の合計を表示させています。
通常であれば、A,B,C,Dの項目が無ければ、データシートビューでは表示されない
ので、クロス集計のオプションでクエリ見出しを指定して、値が無くてもA,B,C,Dを
表示させているのですが、その場合データの無い場所では空白表示になってます。

このクロス集計の結果を元に、別のクエリでこの値を演算してるので
この空白表示を空白でなくて数字の0で表示したいと考えています。
NZ関数を使うと計算はできるのですが、フォームで表示した時に値が無い所を
0で表示したいので、0で表示するにはどうやったらいいかご教授願います。
・ツリー全体表示

【11007】Re:クロス集計クエリについて
お礼  カダワン  - 09/2/19(木) 12:25 -

引用なし
パスワード
   ▼Gin_II さん:

いつもありがとうございます。
うーん、いつもながらお見事です!カンペキです。
本当にありがとうございました!!
・ツリー全体表示

【11006】Re:テーブルの数値型  デフォルト値の変...
お礼  なか  - 09/2/18(水) 17:04 -

引用なし
パスワード
   ▼トト さん:

ご返信、ありがとうございます。
早速、試させていただきます。

本当にありがとうございました。
・ツリー全体表示

【11005】Re:テーブルの数値型  デフォルト値の変...
回答  トト  - 09/2/18(水) 14:31 -

引用なし
パスワード
   ▼なか さん:
バックアップを取ってから実行してください。

Private Sub sub_tabledefault()
  Dim myDB As DAO.Database
  Dim myTD As DAO.TableDef
  Dim myFld As DAO.Field
  
  Set myDB = CurrentDb
  Set myTD = myDB.TableDefs("TABLE-A")  '変更したいテーブル
  
  For Each myFld In myTD.Fields
    If myFld.DefaultValue = 0 Then   '規定値が 0 なら
      myFld.DefaultValue = ""     '規定値を""に
    End If
  Next myFld
  
  Set myTD = Nothing
  Set myDB = Nothing
End Sub

複数テーブルに対して行うのであれば、テーブル名を変数等に
格納してLoop等で実施して下さい。
・ツリー全体表示

【11004】テーブルの数値型  デフォルト値の変更
質問  なか  - 09/2/18(水) 11:03 -

引用なし
パスワード
   いつもお世話になっております。

ACCESSの複数のテーブルにある数値型に全てデフォルト値「0」がついてます。
そのデフォルト値をなくしたいのですが、一括で変更する方法またはクエリはありますか?

恐れ入りますが、何卒宜しくお願いいたします。
・ツリー全体表示

【11003】Re:クロス集計クエリについて
回答  Gin_II  - 09/2/17(火) 22:10 -

引用なし
パスワード
   >フォームに入力された日付(範囲)を抽出条件としたクエリを集計元
>としたクロス集計クエリを作成したいのですが、ウィザードで作成する
>と「'[Forms]![form]![日付]'を有効なフィールド名、または式として
>認識できません」のエラーが出ます。

クロス集計クエリの場合には、パラメータの型を指定してやる必要があります。

クエリのデザインビューから、「クエリ」→「パラメータ」で、

[Forms]![form]![日付] 日付/時刻型

といった感じで指定してください。
あと、フォーム名が、"form" であれば、たぶん予約後だと思いますので、
変更した方が無難だと思います。
・ツリー全体表示

【11002】クロス集計クエリについて
質問  カダワン  - 09/2/17(火) 20:26 -

引用なし
パスワード
   いつもお世話になっております。
また宜しくお願いいたします。
Accessは2000です。

フォームに入力された日付(範囲)を抽出条件としたクエリを集計元
としたクロス集計クエリを作成したいのですが、ウィザードで作成する
と「'[Forms]![form]![日付]'を有効なフィールド名、または式として
認識できません」のエラーが出ます。

フォームの日付は日付型ですので、抽出欄には[Forms]![form]![日付]
で機能するはずですが、クロスにすると上記のエラーが出ます。
(実際には範囲指定ですが、その日ズバリでもエラーになります)
集計元のクエリ単独では何もエラーが出ないのですが、クロス集計クエリ
にすると働きません。

何か間違っているのでしょうか?
また回避方法がお分かりになる方、是非ご教示下さい。
宜しくお願いいたします。
・ツリー全体表示

【11001】Re:訂正:字数(Byte数)制限?
お礼  よっぴ  - 09/2/13(金) 11:34 -

引用なし
パスワード
   ▼小僧 さん:
いつも大変参考にさせて頂いております。
まずは返信いただきありがとうございました。

>こちらでも事象が再現しました。
>(WinVista, Access2003)
やはりそうなのですね。

>> (スペック)
>> WinXP
>> Access2003
>
>上記の環境に依存して良いのであれば、
>Office付随の FileDialog オブジェクトを使うのが楽そうですね。
同環境ならそうなんですよね。
コードまで教えて頂いてありがとうございますです。

>8188 という数値が 2047 * 4 であり
>何かの制限に引っかかってそうだと思われますが、
>WizHook に関しては非公開なクラスの為
>Microfost のサイトを見てもヘルプや技術情報がありません。
そうなんですよね。

>WizHook を使わなければいけない理由が特にないのでしたら
>他方法を使う事をおすすめします。
>
>Ac2000 が混在環境で存在してしまうのであれば
>API関数 の GetOpenFileNameA あたりをWeb検索されてみて下さい。
やはりAPIですか。
過去使用したことがなくもないのですが、構造体とか色々勉強したりしましたが、まだまったく自分のものになっていないので避けてました。。。
コード自体は調べればいくらでも出てくるのでしょうが勉強してトライしてみます。
ありがとうございましたm(_ _)m
・ツリー全体表示

【11000】Re:訂正:字数(Byte数)制限?
回答  小僧  - 09/2/12(木) 18:55 -

引用なし
パスワード
   ▼よっぴ さん:
こんにちは。

> なぜか『8188』Byte以上になるとそれ以降が削除されます。

こちらでも事象が再現しました。
(WinVista, Access2003)


> (スペック)
> WinXP
> Access2003

上記の環境に依存して良いのであれば、
Office付随の FileDialog オブジェクトを使うのが楽そうですね。

Sub Sample2()
'※要参照 Microsoft Office 11.0 Object Library
Dim objFD As FileDialog
Dim varItem As Variant
Dim buf As Variant
Dim aryFileName As Variant

  Set objFD = Application.FileDialog(msoFileDialogFilePicker)

  With objFD
    .Title = "データインポート"
    .Filters.Clear
    .Filters.Add "Excelファイル(*.xls)", "*.xls"
    .Filters.Add "すべてのファイル", "*.*"
    .FilterIndex = 1
    .InitialView = msoFileDialogViewDetails
    .InitialFileName = CurrentProject.Path
    .AllowMultiSelect = True

    If .Show = -1 Then
      For Each varItem In .SelectedItems
        buf = buf & "," & varItem
      Next varItem
    Else
      Exit Sub
    End If
  End With

  aryFileName = Split(Mid(buf, 2), ",")

  Set objFD = Nothing

End Sub


8188 という数値が 2047 * 4 であり
何かの制限に引っかかってそうだと思われますが、
WizHook に関しては非公開なクラスの為
Microfost のサイトを見てもヘルプや技術情報がありません。

WizHook を使わなければいけない理由が特にないのでしたら
他方法を使う事をおすすめします。

Ac2000 が混在環境で存在してしまうのであれば
API関数 の GetOpenFileNameA あたりをWeb検索されてみて下さい。
・ツリー全体表示

【10999】訂正:字数(Byte数)制限?
質問  よっぴ  - 09/2/12(木) 14:43 -

引用なし
パスワード
   すみません。
訂正がございましたので。。。


>1.[GetOpenFileName]を呼び出し、ダイアログからファイルパスを任意・複数取得

→[GetOpenFileName]メソッドではなく、[WizHook]メソッドの[GetFileName]メソッドでした。

>ヘルプを見てみましたが、String型で2.0GB以上の格納が可能とあるので「?」です。

→約2.0GB以内の間違いです。

よろしくお願いいたします。
・ツリー全体表示

【10998】字数(Byte数)制限?
質問  よっぴ  - 09/2/12(木) 13:02 -

引用なし
パスワード
    いつもとても勉強にさせて頂いてます。
今回初の投稿になりますが、何卒よろしくお願いいたします。

■状況
(スペック)
WinXP
Access2003
Excel2003

(目的)
複数のExcelファイル(任意指定、複数指定可)のシート(固有名指定)をアクセスにインポートする。

(経過)
1.[GetOpenFileName]を呼び出し、ダイアログからファイルパスを任意・複数取得
2.Excel.Application.WorkBook.Openでエクセルファイルをオープン
3.DAOでAccessTableへ保存
*2.でエクセルの保護をしているため[TransferSpreadSheet]メソッドは使用不可

(問題?困っていること)
1.のダイアログから複数のファイルを選択した場合、なぜか『8188』Byte以上になるとそれ以降が削除されます。

以下記述内容です。*エラー処理は省いてます。


■[GetOpenFileName]の標準モジュール

Public Enum enmGetFileNameView
gfnViewDetail
gfnViewPreview
gfnViewPropewty
gfnViewList
gfnViewLargeIcons
gfnViewSmallIcons
gfnViewTiles = 8
End Enum

Public Enum enmGetFileNameFlags
gfnFlagsoverWritePrompt = &H1
gfnFlagsSetCurDir = &H4
gfnFlagsAllowMultiSelect = &H8
gfnFlagsSelectFolder = &H20
gfnFlagsEnableView = &H40
End Enum

Public Enum enmGetFileNameFOpen
gfnFOpenOpen = -1
gfnFOpenSaveAs = 0
End Enum

Function wh_GetFileName( _
  Optional hwndOner As Long, _
  Optional AppName As String, _
  Optional DlgTitle As String, _
  Optional OpenTitle As String, _
  Optional FILE As String, _
  Optional InitialDir As String, _
  Optional FILTER As String, _
  Optional FilterIndex As Long, _
  Optional View As enmGetFileNameView, _
  Optional flags As enmGetFileNameFlags, _
  Optional fOpen As enmGetFileNameFOpen _
  ) As String

Const ENABLE_WIZHOOK = 51488399
Const DISABLE_WIZHOOK = 0
Dim strFILE As String
Dim lngResult As Long

If (hwndOwner = 0) Then hwndOwner = Application.hWndAccessApp
If (AppName = "") Then AppName = Application.Name
strFILE = FILE
If (FILTER = "") Then FILTER = "すべてのファイル(*.*)|*.*"
WizHook.Key = ENABLE_WIZHOOK

lngResult = WizHook.GetFileName( _
  hwndOwner, _
  AppName, _
  DlgTitle, _
  OpenTitle, _
  strFILE, _
  InitialDir, _
  FILTER, _
  FilterIndex, _
  View, _
  flags, _
  fOpen)

WizHook.Key = DISABLE_WIZHOOK

wh_GetFileName = strFILE
  
End Function


■実行プロシージャ
Sub sample()

'---ファイルの取得処理---
Const DLG_TITLE = "データインポート"
Const FILTER_ = "Excelファイル(*.xls)|*.xls"
Dim INITIAL_DIR As String

INITIAL_DIR = CurrentProject.Path

Dim strFILE As String
strFILE = wh_GetFileName(, , _
  DLG_TITLE, , , INITIAL_DIR, FILTER_, _
   , , gfnFlagsAllowMultiSelect, _
  gfnFOpenOpen)
If strFILE = vbNullString Then
Exit Sub
End If

MsgBox LenB(strFILE) '←ここで問題であろうByte数を調べました。
Debug.Print strFILE '←一応表示もしてみました。

DoCmd.Hourglass True

'---データの保存処理---
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim xls As Excel.Application
Dim wkb As Excel.Workbook
Dim vntList As Variant
Dim CNT As Long
Dim IDX As Long

''---保存先の設定---
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(Name:="T_Test", Type:=dbOpenTable)
Set xls = CreateObject("Excel.Application")

''---ファイル取得情報を区切る---
Dim ret, myFILE
ret = Split(strFILE, vbTab)

For Each myFILE In ret

''---エクセルファイルオープン---
  Set wkb = xls.Workbooks.Open(FileName:=myFILE, ReadOnly:=True _
       , Password:="pass", WriteResPassword:="pass")

  With wkb.Worksheets("Sheet1").Range("A1").CurrentRegion

''---データが1行でない場合---
  If Not (.Rows.Count = 1) Then
  
    Let vntList = .Resize(.Rows.Count - 1).offset(1, 0).Value
  
'''---レコードの保存(選択範囲内ループ)---
    For CNT = LBound(vntList, 1) To UBound(vntList, 1)
      rst.AddNew
    
      For IDX = LBound(vntList, 2) To UBound(vntList, 2)
        Let rst.Fields(IDX - 1).Value = vntList(CNT, IDX)
      Next
    
      rst.Update
    Next
  End If

  End With

Next myFILE

''---解放処理---
wkb.Close SaveChanges:=False
xls.Quit
Set wkb = Nothing
Set xls = Nothing

rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing

DoCmd.Hourglass False

MsgBox "正常にインポートされました。"

End Sub

以上です。

ヘルプを見てみましたが、String型で2.0GB以上の格納が可能とあるので「?」です。
恐れ入りますがよろしくお願いいたします。
・ツリー全体表示

【10997】Re:削除クエリー
お礼  ムーン  - 09/2/12(木) 11:51 -

引用なし
パスワード
   ▼トト さん:
>▼ムーン さん:
>DELETE FROM TABLEa WHERE Kno in
>(SELECT Kno FROM TABLEb)
>
>こんな感じです。

トトさん、ありがとうございました。

すぐに出来ました。
・ツリー全体表示

【10996】Re:削除クエリー
回答  トト  - 09/2/12(木) 11:07 -

引用なし
パスワード
   ▼ムーン さん:
DELETE FROM TABLEa WHERE Kno in
(SELECT Kno FROM TABLEb)

こんな感じです。
・ツリー全体表示

【10994】Re:テーブルの更新?方法
お礼  ON  - 09/2/8(日) 21:16 -

引用なし
パスワード
   ▼小僧 さん:
大変遅くなりました m(_ _)m

詳細な解答いただきありがとうございます

何度かトランザクションにチャレンジしたことがあったのですが
いまいち理解できずにいました

>VBAのコードでいえば OpenQueryメソッドを使ったりした場合には
>トランザクションの概念がありません。

>DAO や ADO の Execute メソッドを利用して
>SQLを実行する場合においては
>トランザクションを設定する事ができるため、
>一連の処理を「全て行う」か「全て中止する」事ができます。

DAOでは、トランザクションが出来ない
といったページも見たことがあったような気がしていたのですが

前回、
【10900】エクセルからアクセスへAddNewで
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=10900;id=access
で、書き込み頂いた
>DAO で記述されている場合は
>AddNew で排他処理が行われ、Updateで排他が解除されます。



>DAO や ADO の Execute メソッドを利用して
>SQLを実行する場合においては
>トランザクションを設定する事ができるため、
>一連の処理を「全て行う」か「全て中止する」事ができます。

なんとなく全体像が見えてきたような気がします


>今回は削除して追加する処理になるため、
>片方しか行われないと問題が発生してしまいます。

>もし、定時の作業で行うのであれば
>きちんとトランザクションを用いた方が無難かと思った次第です。

詳細な説明で、重要性が理解できたような気がします

ものにするのには少し時間がかかると思いますが
何とか頑張りたいと思います

ありがとうございました
今後もよろしくお願いいたします
・ツリー全体表示

【10993】削除クエリー
質問  ムーン  - 09/2/7(土) 16:11 -

引用なし
パスワード
   いつもお世話になっております。

削除クエリーにつきまして
どなたか?お知恵を貸してください。

TABLEa

Kno Name
1  いち
2  にい 
3  さん
4  しい
5  ごお

TABLEb

Kno Name
1  いち
3  さん

とあります。

TABLEaからTABLEbのKnoが同じレコードを削除したいのです。
(レコード数はtablebのKnoが存在する限り)

結果

TABLEa

Kno Name
2  にい 
4  しい
5  ごお

以上、簡単かも知れませんが宜しくお願い致します。
sqlでも結構です。

恐れ入りますが、助言等よろしくお願い致します。
・ツリー全体表示

【10992】Re:複数バージョンが共存する中で特定の...
お礼  yuki  - 09/2/6(金) 17:49 -

引用なし
パスワード
   ▼YU-TANG さん:
Dim strSql As String
ではなく、
Dim sExcel2kExe As String
で実行してます!失礼しました!

出来て本当にうれしいです(;▽;)
ありがとうございます!!


>こんばんは、YU-TANG です。
>
>> 本日2000/2007の双方のバージョンのエクセルを開けている状態で再度試したらダメでした・・・。
>
>やはりそうでしたか。
>
>> (ちなみに、Workbooks.の前にはxlappをつけて実行していました。スミマセン。)
>
>了解です。
>できれば実際のコードのまま転記していただけるとありがたいです。
>
>> もう一度YU-TANG さんと小僧さんにご回答いただいた内容を含めていろいろ試してみます!
>
>ご苦労様です。
>
>ちょっと自分の説明が伝わりにくかったようなので、改めて説明して
>みますが。
>
>もともと 10959 でこう書きました。
>
>> 先に新規ブックをどっかに作ってしまって、そいつを Shell で Excel 2000 に
>> 開かせたら、GetObject で Excel 2000 のインスタンスを取れませんかね。
>
>箇条書きにすると、こういう意味です。
>
>1. 先に新規ブックをどこかに作っておく
>2. 1 のファイルを Shell で Excel 2000 に開かせる
>3. GetObject で 2 のインスタンスを取得する(混在環境がないので実際に取れるかどうかは知らない)
>
>この通りのコードはまだ書かれていないようなので、あるいはコードを
>書いて提示しないと伝わらないのかもしれません。
>
>こんな感じです(ベタ打ちです)。
>
>' 1. 先に新規ブックをどこかに作っておく
>sFile = "K:\外貨入出金比較\BANK BOOK 照合\Book1.xls"
>
>' 2. 1 のファイルを Shell で Excel 2000 に開かせる
>sExcel2kExe = "C:\Program Files\Microsoft Office\Office\Excel.Exe"
>Shell """" & sExcel2kExe & """ """ & sFile & """", vbNormalFocus
>DoEvents  ' 念のため
>
>' 3. GetObject で 2 のインスタンスを取得する
>Set xlBook = GetObject(sFile)
>Set xlApp = xlBook.Application
>MsgBox xlApp.Version  ' 9.0 だったら Excel 2000
>
>注意点としては、2 で Excel 2000 を起動しても ROT に登録される
>前に 3 に進んでしまうと、GetObject が既存のインスタンスを取得
>せずに Excel 2007 で新たに開きに行く可能性があります。その場合
>は 2 と 3 のあいだでちょっと時間稼ぎする必要があるかもしれ
>ません(10979 と混同しないようにしてください。こちらは同期待ち
>したらダメですので)。
>
>上の説明で伝わりますか?
>それでは。
・ツリー全体表示

【10991】Re:複数バージョンが共存する中で特定の...
お礼  yuki  - 09/2/6(金) 17:41 -

引用なし
パスワード
   ▼YU-TANG さん:

YU-TANGさん、こんばんは!
詳細な御説明ありがとうございます!
皆様プロフェッショナルな方々なので、ド素人な私はお話についていけずあたふたしてしまっていたので、コードを書いて頂けて本当にありがたかったです!

  Dim strSql As String
  
  sFile = "K:\外貨入出金比較\BANK BOOK 照合\Book1.xls"

  sExcel2kExe = "C:\Program Files\Microsoft Office\Office\Excel.Exe"
  Shell """" & sExcel2kExe & """ """ & sFile & """", vbNormalFocus
  DoEvents

  Set xlBook = GetObject(sFile)
  Set xlApp = xlBook.Application
  MsgBox xlApp.Version  

で実行して、2000のワークシートへ書き込みができました!!!!
2000/2007双方を開けている状態でも試しましたが、問題なく処理ができました!

本当にありがとうございました!!
YU-TANGさんの優しさに感動です!

>こんばんは、YU-TANG です。
>
>> 本日2000/2007の双方のバージョンのエクセルを開けている状態で再度試したらダメでした・・・。
>
>やはりそうでしたか。
>
>> (ちなみに、Workbooks.の前にはxlappをつけて実行していました。スミマセン。)
>
>了解です。
>できれば実際のコードのまま転記していただけるとありがたいです。
>
>> もう一度YU-TANG さんと小僧さんにご回答いただいた内容を含めていろいろ試してみます!
>
>ご苦労様です。
>
>ちょっと自分の説明が伝わりにくかったようなので、改めて説明して
>みますが。
>
>もともと 10959 でこう書きました。
>
>> 先に新規ブックをどっかに作ってしまって、そいつを Shell で Excel 2000 に
>> 開かせたら、GetObject で Excel 2000 のインスタンスを取れませんかね。
>
>箇条書きにすると、こういう意味です。
>
>1. 先に新規ブックをどこかに作っておく
>2. 1 のファイルを Shell で Excel 2000 に開かせる
>3. GetObject で 2 のインスタンスを取得する(混在環境がないので実際に取れるかどうかは知らない)
>
>この通りのコードはまだ書かれていないようなので、あるいはコードを
>書いて提示しないと伝わらないのかもしれません。
>
>こんな感じです(ベタ打ちです)。
>
>' 1. 先に新規ブックをどこかに作っておく
>sFile = "K:\外貨入出金比較\BANK BOOK 照合\Book1.xls"
>
>' 2. 1 のファイルを Shell で Excel 2000 に開かせる
>sExcel2kExe = "C:\Program Files\Microsoft Office\Office\Excel.Exe"
>Shell """" & sExcel2kExe & """ """ & sFile & """", vbNormalFocus
>DoEvents  ' 念のため
>
>' 3. GetObject で 2 のインスタンスを取得する
>Set xlBook = GetObject(sFile)
>Set xlApp = xlBook.Application
>MsgBox xlApp.Version  ' 9.0 だったら Excel 2000
>
>注意点としては、2 で Excel 2000 を起動しても ROT に登録される
>前に 3 に進んでしまうと、GetObject が既存のインスタンスを取得
>せずに Excel 2007 で新たに開きに行く可能性があります。その場合
>は 2 と 3 のあいだでちょっと時間稼ぎする必要があるかもしれ
>ません(10979 と混同しないようにしてください。こちらは同期待ち
>したらダメですので)。
>
>上の説明で伝わりますか?
>それでは。
・ツリー全体表示

【10990】Re:クエリーの結果にかかわらず表示したい
お礼  カダワン  - 09/2/6(金) 8:54 -

引用なし
パスワード
   ▼ケルビン さん:

うん、うん!
そうですよね!
Dcount使ってやってみます。
本当にありがとうございました!

助かりました、また宜しくお願い致します。
・ツリー全体表示

114 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1082756
(SS)C-BOARD v3.8 is Free