A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「DAO から ADO への移植9」
の
「ADO、ADOX、および JRO の新機能」
の説明文に
「DAO では使用できません」と注意が書かれたうえで、Increment/Seedの使用方法を説明しています。
DAOは進化していないけどADOは進化しています。
その進化した機能部分に該当しているようですので、DAOでは出来ないと思います。
以前に載せたサンプルは、ADOXを利用しているけど、ADOもADOXも参照設定しない方法でのコードで載せています。
それがダメなのであれば、MSDNを見る限り実現不可能だと思います。
参考URL:http://msdn.microsoft.com/ja-jp/library/dd148542 …
No.2
- 回答日時:
DAOだけ利用した方法は正直わかりません。
ADOXを利用すると取得出来ます。
(※「Microsoft ADO Ext. 2.8 for DDL and Security」を参照すると便利です。)
カラムのSeedとIncrementを参照します。
テーブルを開いていなければ、値の設定も行えます。
Sub 呼出()
Dim l_lngNum As Long
Dim l_lngInc As Long
If GetAutoNum("テーブル名", "フィールド名", l_lngNum, l_lngInc) Then
Call MsgBox("次の値は「" & l_lngNum & "」" & vbCrLf & "増減値は「" & l_lngInc & "」")
End If
End Sub
Function GetAutoNum(ByVal p_strTbl As String, ByVal p_strFld As String, Optional p_lngAutoNum As Long, Optional p_lngInc As Long) As Boolean
GetAutoNum = False
Dim l_adoxCat As Object 'As ADOX.Catalog
Set l_adoxCat = CreateObject("ADOX.Catalog") 'New ADOX.Catalog
l_adoxCat.ActiveConnection = Application.CurrentProject.Connection
On Error Resume Next
Dim l_adoxTbl As Object 'As ADOX.Table
Set l_adoxTbl = l_adoxCat.Tables(p_strTbl)
If (l_adoxTbl Is Nothing) Then
MsgBox "テーブル不明"
Exit Function
End If
Dim l_adoxFld As Object 'As ADOX.Column
Set l_adoxFld = l_adoxTbl.Columns(p_strFld)
If (l_adoxFld Is Nothing) Then
MsgBox "フィールド不明"
Exit Function
End If
On Error GoTo 0
If Not CBool(l_adoxFld.Properties("AutoIncrement")) Then
MsgBox "オートナンバーちゃう"
Exit Function
End If
p_lngAutoNum = l_adoxFld.Properties("Seed")
p_lngInc = l_adoxFld.Properties("Increment")
GetAutoNum = True
End Function
No.1
- 回答日時:
回答ではありません。
そのようなこと(オートナンバの現在値=次の挿入で
割り当てられる数値)を知ってどうするのですか?
仮にそのような方法があったとして、レコードを挿入
しても、その値が使われる保証はありません。
参照から挿入までの間に他のプロセスにより挿入が
行われてしまう可能性があるからです。
「あてにならない」値を返してもらっても意味がある
とは思えないのですが…
因みにPostgresには調べる方法はあります。また、
値を任意の数値に変更する手段もあります。もっとも
あったからと言って、同じく用途は不明です。
Accessでリセットする方法は以下のURLにあります。
http://www.accessclub.jp/bbs/0066/beginers25257. …
リセットは意味があると思います。
この回答への補足
>そのようなこと(オートナンバの現在値=次の挿入で
>割り当てられる数値)を知ってどうするのですか?
ACCESS→ORACLEに移行するときに使います
リセットが目的ではありません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 自動車税 【自動車税の節税方法】アメリカの旧型ハマーを1ナンバーで取得すると3ナンバーより自動車税が11万円安 3 2022/08/23 23:10
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Access(アクセス) access フォーム 大分類、小分類 1 2022/08/11 18:03
- 貨物自動車・業務用車両 自動車の業務ナンバー(黒ナンバープレート)は個人では取得する方法はありますか? 3 2022/09/27 17:27
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- 中古バイク 中古バイクについてですが、福島県に有る、250ccのバイクを宮城県に住んでいる僕のものにしようかと思 2 2023/08/12 16:25
- 貨物自動車・業務用車両 黒ナンバー車の変更手続きについて 4 2023/06/12 07:00
- iPhone(アイフォーン) 現在iphone13を使用していて物理simとesimのデュアル simを所有しています。 折角の機 1 2023/01/19 21:42
- 美容師・理容師 30代前半、美容師免許取得のために 現在、美容学校に通っている方、これから検討している方いませんか? 1 2022/11/06 09:56
- Visual Basic(VBA) Edge スクレイピング 3 2023/08/07 19:36
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
INSERT文で発行したオートナンバーを取得したい
SQL Server
-
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
AccessのSQLについて教えてください。
その他(データベース)
-
-
4
Accessの実行時エラーについて
その他(データベース)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
access マクロでのフィルタの解除の方法
Access(アクセス)
-
7
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
8
SQL文 複数実行
SQL Server
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
DataGridView 複数行同時変更...
-
DWORDって
-
Excel-vba 文字列と変数を...
-
VBAの定数の使い方で、計算値を...
-
足して100になるような乱数のア...
-
vbaで極大値を抽出する方法
-
Access2003 オートナンバーの現...
-
1つ前の値を変数に保存する方法
-
VB6.0-整数と余りを求める
-
ラジオボタンの値の取得につい...
-
数字の位ごとの値を表示するプ...
-
Excel VBA でデータ転記について
-
スピンボタンで小数点
-
プログラミング 2つの整数を読...
-
Excel VBAで値貼り付けのプログ...
-
【C++/CLI】コンボボックスの値...
-
Exit Subのような・・・。
-
LOG(10)2の意味は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
足して100になるような乱数のア...
-
数字の位ごとの値を表示するプ...
-
VB6.0-整数と余りを求める
-
VBAで配列のNULL判定
-
1つ前の値を変数に保存する方法
-
Access2003 オートナンバーの現...
-
UWSCのcallについて
-
C#で動的にコントロールを取得...
-
ラジオボタンの値の取得につい...
-
VBAの定数の使い方で、計算値を...
-
相関係数p値の出し方
-
DWORDって
-
世界のナベアツ
-
DataGridView 複数行同時変更...
-
10進数をアスキーコードに変換
-
c言語で乱数を扱うときの
-
VBAのチェックボックス結果を集...
おすすめ情報