- ベストアンサー
アクセス DCountの返り値が必ず0になる
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- DexMachina
- ベストアンサー率73% (1287/1744)
関連するQ&A
- アクセス DCount Between and
テーブルの5月分の件数をvbaで取得するにはどうすればいいでしょうか? Sub test() Debug.Print DCount("[取引日]", "T取引先", "[取引日] = Between #5/1/2013# And #5/31/2013#") End Sub これだと、実行時エラー3075「クエリ式の構文エラー:演算子がありません。」が返ります。 多分、クライテリアの士気が間違ってるんだと思います。 Sub test() Debug.Print DCount("[取引日]", "T取引先", "[取引日] = #5/1/2013#") End Sub これなら取得できました。 Sub test() Debug.Print DCount("[取引日]", "T取引先", "[取引日] = #5/*/2013#") End Sub ワイルドカードは使えないようで、これもエラーになりました。 5月分の件数を取得する方法はありますか? よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- アクセス複数の条件で同じ書式をつけるには?
条件付き書式です。(しかもVBAです) 一つのフィールドに対して違う条件だけど同じ書式をつけたい時、 まとめる事は出来ないのでしょうか? 例えばフォールド1の「あ」と「い」を赤にしたい場合、 Sub test01() Dim Field As String Dim MyFormName As String MyFormName = "フォーム" Field = "フィールド1" With Forms(MyFormName).Controls(Field) With .FormatConditions .Delete With .Add(acExpression, , "[" & Field & "]=""あ""" And "[" & Field & "]=""い""") .ForeColor = 225 End With End With End With End Sub のような事は出来ないのでしょうか? これをすると 実行時エラー:型が一致しません。(Error 13) になります。 素直に、 Sub test02() Dim Field As String Dim MyFormName As String MyFormName = "フォーム" Field = "フィールド1" With Forms(MyFormName).Controls(Field) With .FormatConditions .Delete With .Add(acExpression, , "[" & Field & "]=""あ""") .ForeColor = 225 End With With .Add(acExpression, , "[" & Field & "]=""い""") .ForeColor = 225 End With End With End With End Sub としなくちゃダメでしょうか? 何故こんな事がしたいかと言うと、3つ以上やりたい条件がありので、 同じ書式のものはまとめたいのです。 ご教授よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 変数を続けて宣言した場合はEmpty型になる?
Sub test1() Dim Int1, Int2 As Long Debug.Print "---------- test1の実行結果 ----------" Debug.Print TypeName(Int1) Debug.Print TypeName(Int2) End Sub Sub test2() Dim Int1 As Long Dim Int2 As Long Debug.Print "---------- test2の実行結果 ----------" Debug.Print TypeName(Int1) Debug.Print TypeName(Int2) End Sub を実行すると、 ---------- test1の実行結果 ---------- Empty Long ---------- test2の実行結果 ---------- Long Long の結果が得られます。 test1のInt1がEmpty型になりますが、変数の型にEmptyはないですよね? どういうことなのでしょう???
- ベストアンサー
- オフィス系ソフト
- VBA 複数の文字のコードを一気に返すには
Sub test1() Dim myStr As String myStr = "abc" Debug.Print Asc("a") Debug.Print Asc(myStr) End Sub このコードは、どちらも97が返るのですが、 myStrは3文字です。 3文字全ての文字コードを返すには、 Sub test2() Dim myStr As String myStr = "abc" Debug.Print Asc(Mid(myStr, 1, 1)) & Asc(Mid(myStr, 2, 1)) & Asc(Mid(myStr, 3, 1)) End Sub のようにするしかないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- アクセスのクエリでSplit関数は使えないのですか
レコードにaaa/bbb/cccと入っていて、 クエリで SELECT Split([テーブル1]![フィールド1],"/") AS test FROM テーブル1; とすると、 式に未定義関数 <関数名> があります。(Error 3085) になります。 VBAでやるとしたら Sub test() Dim str As String str = "aaa/bbb/ccc" Debug.Print Split(str, "/")(1) End Sub のような事がしたいのですが クエリでは無理なのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 変数iもjも同じく値を保持できるからどちらを使って
このサンプルコードは、 変数iもjも同じく値を保持できるから、test1を使ってもtest2を使っても一緒なのでしょうか? Option Explicit Dim i As Integer Sub test1() Static j As Integer j = j + 1 Debug.Print j End Sub Sub test2() i = i + 1 Debug.Print i End Sub ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- InputBox String型・Variant
VBAです。 InputBox String型・Variant型がエラーにならない理由がわかりません。 Sub 日付型() Dim 日 As Date 日 = InputBox("値をいれてください") End Sub Sub 数値型() Dim i As Long i = InputBox("値をいれてください") End Sub Sub 通貨型() Dim 円 As Currency 円 = InputBox("値をいれてください") End Sub Sub String型() Dim a As String a = InputBox("値をいれてください") End Sub Sub Variant型() Dim v As Variant v = InputBox("値をいれてください") End Sub String型・Variant型以外は、 「実行時エラー '13'; 型が一致しません。」になります。 String型・Variant型はならない理由を教えてください。ご回答よろしくお願いします。
- ベストアンサー
- Visual Basic
- VB2008: 構造体に関するMSDNの解釈について!
' ================== ' 構造体変数の代入 ' ================== Module theTEST Private Structure TEST4 Dim MembersCount As Integer Dim Member1 As String Dim Member2 As String End Structure Sub Main() Dim T4_1 As TEST4 Dim T4_2 As TEST4 T4_1.MembersCount = 1 T4_1.Member1 = "T4_1:Member1" T4_1.Member2 = "T4_1:Member2" T4_2 = T4_1 Debug.Print(T4_2.MembersCount.ToString) Debug.Print(T4_2.Member1) Debug.Print(T4_2.Member2) End Sub End Module [イミディエイト ウインドウ] 1 T4_1:Member1 T4_1:Member2 >構造体の要素が文字列型 (String) やオブジェクト型 (Object) などの参照型である場合は、データへのポインタがコピーされます。 (http://msdn.microsoft.com/ja-jp/library/18ytyskd(VS.80).aspx) このMSDNライブラリの説明によると、 [イミディエイト ウインドウ] 0 T4_1:Member1 T4_1:Member2 という結果を得るというのが私の予測。 もしかしたら、MSDNライブラリの説明の舌足らず。 >構造体の要素が値型であらば値がコピーされますが、文字列型 (String) やオブジェクト型 (Object) などの参照型である場合は、データへのポインタがコピーされます。 ということでしょうか?
- ベストアンサー
- Visual Basic
- ACCESS ADOのMovePreviousについて
毎度お世話になっております。 ACCESS2003を使用しています。 ACCESS ADOにて、レコードセットがeofになった後、 MovePreviousをし、MoveNextをし、 さらにもう一度MovePreviousをすると、 最終レコードの一つ前に戻ってしまいます。 テーブル1 フィールド1 フィールド2 1 あ 2 い 3 う 4 え 5 お コード Sub test() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Set cn = CurrentProject.Connection rs.Open "select * from テーブル1 order by フィールド1", cn, adOpenDynamic, adLockReadOnly Do Until rs.EOF rs.MoveNext Loop rs.MovePrevious Debug.Print rs.Fields("フィールド1").Value rs.MoveNext rs.MovePrevious Debug.Print rs.Fields("フィールド1").Value rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub 一度目のdebug.printは5に、 二度目のdebug.printは4になります。 このような仕組みなのでしょうか。 ご教授お願いいたします。
- ベストアンサー
- その他(データベース)
お礼
フィールド名も検索文字も変数に入れてましたね。ありがとうございました。