プロが教えるわが家の防犯対策術!

お世話になります
日付型で2008/01/01
とあります
これを2008/01/01 00:00:00に前列変更させたいのですが、もちろん空白行もあります

わかる方ご教授お願いします

A 回答 (11件中1~10件)

[DTPicker0] ではなく [ActiveXコントロール6]等の名前がなっているだけとか。


DTPicker0->dtpicker0と書換えたら dtp が大文字に自動変換されますか?
    • good
    • 0

名前________:DTPicker0


OLEクラス_:DTPicke
クラス_______:MSComCtl2.DTPicker.2

Access2002(10.6771.6893) SP3

こちらのテスト環境です。
一応、クエリにも組み込んでテストしています。
もちろん、デバッグエラーは出ていません。
また、日付もPCの日付を変更して反映されることも確認しています。

違いはなんでしょうね。
    • good
    • 0

Private Sub DTPicker0_Change()


  Me.txtDTPicker0 = Format(Me.DTPicker0.Value, "yyyy/mm/dd")
End Sub

Private Sub DTPicker1_Change()
  Me.txtDTPicker0 = Format(Me.DTPicker1.Value, "yyyy/mm/dd")
End Sub

Private Sub Form_Activate()
End Sub

Private Sub Form_Current()
  Me.txtDTPicker0 = Format(Me.DTPicker0.Value, "yyyy/mm/dd")
  Me.txtDTPicker1 = Format(Me.DTPicker1.Value, "yyyy/mm/dd")
End Sub

Private Sub Form_Load()
  Me.DTPicker0.Value = Date
  Me.DTPicker1.Value = Date
End Sub

Form_Load()とForm_Current()とでの分割記述が必要かどうかは定かではありません。

この回答への補足

お返事ありがとうございます

テキストボックスを2つ設置し
名前を
txtDTPicker0
txtDTPicker1
に変更し上記内容を貼り付け実行しましたが、エラーがでます

実行時エラー'2763'
DTPickerでエラーが発生しました:値の取得のみが可能なプロパティです。

補足日時:2008/03/26 14:54
    • good
    • 0
この回答へのお礼

お返事ありがとうございます

補足の補足ですが
Private Sub Form_Load()
  Me.DTPicker0.Value = Date←デバックするとこの列に色がつきます
  Me.DTPicker1.Value = Date
End Sub

お礼日時:2008/03/26 15:07

Private Sub DTPicker0_Change()


  Me.何時から = Format(Me.DTPicker0.Value, "yyyy/mm/dd")
End Sub

CutStr() ではなく Format関数その他(FormatDateTime())でもいいですよ。

この回答への補足

ありがとうございます
感激しました、
場所違いで申し訳ないのですが、
後ひとつ質問ですがDTPickerの既定値を本日の日にする方法ありますか?
これで最後にしますなにとぞご教授よろしくお願いします。

補足日時:2008/03/25 18:34
    • good
    • 0

>クエリは日付けに Between "DTPicker0" And "DTPicker1" を記載しています。



これは、全く機能していないです。

>Between検索を実施しようと思いましたが型がちがうとエラーで返されます。

このエラーは、文字列をセットしているので当然のことです。

BETWEEN Forms![フォーム1]![何時から] AND Forms![フォーム1]![何時まで]

と、DTPicker0 と DTPicker1の値を反映したキストボックスを参照させると上手くいきます。
ただし、先ほどの回答はミスでした。
Me.[何時から]、Me.[何時まで]に代入する場合に日付部分を切り出さないといけなかったです。
そこでForm_Current()も含めてのコードを再度示します。

Private Sub DTPicker0_Change()
  Me.何時から = CutStr(Me.DTPicker0.Value, " ", 1)
End Sub

Private Sub DTPicker1_Change()
  Me.何時まで = CutStr(Me.DTPicker1.Value, " ", 1)
End Sub

Private Sub Form_Current()
  Me.何時から = CutStr(Me.DTPicker0.Value, " ", 1)
  Me.何時まで = CutStr(Me.DTPicker1.Value, " ", 1)
End Sub

標準モジュールに先ほどの CutStr関数をコピペしてください。

これでOKです。
    • good
    • 0

あれ式が違った



0時じゃない時刻を付加したい場合には
単純に足し算してやればOKです
2008/01/01に12:00:00を付加するには
2008/01/01 + 12:00:00
    • good
    • 0

日付時刻型の正体は整数部で日付を小数部で時刻を表す浮動小数点型の数値です


日付のみ、時刻のみというものはありません

従って
>日付型で2008/01/01
はなにもしなくても
>2008/01/01 00:00:00
です

0時じゃない時刻を付加したい場合には
単純に足し算してやればOKです
2008/01/01に12:00:00を付加するには
2008/8/01/01/+12:00:00
    • good
    • 0

補足: クエリとMicrosoft Date and TimePicker Control



Private Sub DTPicker0_Change()
  Me.何時から = Me.DTPicker0.Value
End Sub

Private Sub DTPicker1_Change()
  Me.何時まで = Me.DTPicker1.Value
End Sub

なお、クエリでは、このように[何時から]、[何時まで]というテキストボックス経由で・・・。
このテキストボックスの表示を yyyy/mm/dd にすれば・・・。
もちろん、Form_Current() でも同様の手続きが・・・。
    • good
    • 0

Private Sub コマンド0_Click()


  Dim strSQL As String
  
  strSQL = "SELECT * FROM Tab1 WHERE 日付 BETWEEN #" & Me.DTPicker0 & "# AND #" & Me.DTPicker1 & "#"
  Debug.Print strSQL
  MsgBox DBSelect(strSQL, vbCrLf, vbCrLf)
End Sub

Private Sub コマンド1_Click()
  Dim strSQL As String
  
  strSQL = "SELECT * FROM Tab1 WHERE 日付 BETWEEN #" & CutStr(Me.DTPicker0, " ", 1) & "# AND #" & CutStr(Me.DTPicker1, " ", 1) & "#"
  Debug.Print strSQL
  MsgBox DBSelect(strSQL, vbCrLf, vbCrLf)
End Sub

上の2つでは実行結果が違います。

[イミディエイト]
SELECT * FROM Tab1 WHERE 日付 BETWEEN #2008/01/01 11:35:44# AND #2008/03/02 11:35:44#
SELECT * FROM Tab1 WHERE 日付 BETWEEN #2008/01/01# AND #2008/03/02#

実際のSQL文をデバッグプリントすれば判りますが、Me.DTPicker0 は現在時刻を継承しています。
ですから、この継承を中止するか、関数 CutStr() などで日付だけを取り出すかしないと目的の結果は得られないです。

Public Function CutStr(ByVal Text As String, _
            ByVal Separator As String, _
            ByVal N As Integer) As String
  Dim strDatas() As String
  
  strDatas = Split("" & Separator & Text, Separator, , 0)
  CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function

この回答への補足

貴重なコードありがとうございます
やはりそのようなコードが必要だったのですね!
帳票フォームはヘッダにDTPicker0とDTPicker1を設置実行ボタンで
明細に日付、ID、記事等を表示させたいのですが。。

初心者の私は上記コード参入でわからなくなりました(泣)

できれば最後までお願いしたいのですが。。。m(__)m

補足日時:2008/03/25 12:35
    • good
    • 0

私に場合、アクセスで生年月日として日付として入れたフィールドがあります。


クエリなので(テーブルの場合、そのフィールドをクリックすると
下にプロパティ内容(部)が出て書式があり、同行右部クリックで
選択できる種類が出る)
デザインモード
その項目フィールド欄でを右クリック
プロパティ
書式の右の▼をクリック
時刻を選択(または日付(標準))
実行
0:00で全件示される。
ということは、エクセルと同じように時刻日付を整数部(=日付)、小数部(=1日を24時間とする小数)で持っていると思われる。
1964/11/4 の後に1スペース 12:23と入れると
(上記操作で書式を時刻を選択したので)12:23と表示される
ーーー
上記のことから
>00:00:00前列変更させたいのですが==>全列の間違い?
なら、そのままで良いということになる。
フィールドの書式を「日付(標準)」にすればよいということになる。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!