DateTimePickerに値を入れたいのですが…

このQ&Aのポイント
  • VB2005環境で、DateTimePickerコントロールに値を入れようとしていますが、上手くいきません。
  • FlexGrid(FlexGrid.Net)から取得した値を0000/00の形式に変換しようとしていますが、うまくいきません。
  • 代入の方法を教えていただけないでしょうか?
回答を見る
  • ベストアンサー

DateTimePickerに値を入れたいのですが…

VB2005環境です。 DateTimePickerコントロールに値を入れたいのですが、 うまくいきません。 コードとしては、下記のような記述をしました。 DateTimePicker.Value = CDate(Format(Me.fg.Item(Me.fg.Row, 2).ToString, "0000/00")) FlexGrid(FlexGrid.Net)から取得した値を0000/00の形に 直そうとしたのですが…。 ((Me.fg.Item(Me.fg.Row, 2).ToStringをウォッチしてみますと、 String型で200707と値が入っています)。 代入の方法をご教授いただけないでしょうか? よろしくお願いします。

  • ginfix
  • お礼率34% (330/962)

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

VB.NETのFormatに与える第一引数を文字列にしているためFormat関数が"0000/00"を返して エラーになっているのではありませんか LongやSingleなどに グリッドのデータを変換してからFormatに与えましょう dim nDummy as Long dim dt as date nDummy = long.Parse(Me.fg.Item(Me.fg.Row, 2).ToString) dt = CDate( Format(nDummy, "0000/00" ) ) DateToimePicker.value = dt といった具合です

ginfix
質問者

お礼

お礼が遅れまして申し訳ありません。 仰るとおり、形をLongにしたところ、正常に値を取得することが できました。 ありがとうございました。

関連するQ&A

  • String型の値にスラッシュをつけて表示させたい。

    VB2005環境です。 渡ってきたString型の数字を、スラッシュをつけた上で、 テキストボックスに表示したいと思っています。 具体的には、 Dim YMD as string ="200709" Me.txtbox1.text=YMD これだと、200709と表示されてしまいますので、スラッシュを つけて、2007/09にしたいのです。 Formatを使うのだろうと思い、 Me.txtbox1.text=Format(YMD,"0000/00") としてみると、エラー。 スラッシュがつくからDateになるのかなと、 Me.txtbox1.text=CDate(Format(YMD,"0000/00")) でもダメでした。 Formatは、第二引数に指定した形式に直すものだと思っていたの ですが、String型のデータは直せないのでしょうか…? 問題点と、解決方法を教えていただけないでしょうか。 よろしくお願いします。

  • DataGridViewで、選択した行の値を取得したい。

    VB2005環境です。 VB2005で、選択した行の、特定の列から値を取って、 テキストボックスに出力したいと思っています。 Itemプロパティかと思い、 TxtBox1.Text = Me.DataGridView1.Item _(0,Me.DataGridView1.CurrentRow.Index).ToString と記述してみました。1列目の、選択した行と交わるセルの 値が取れるかと思いきや、うまく取得できません。 方法を教えていただけないでしょうか? よろしくお願いします。

  • VSFlexGridをDataGridViewへ

    VB6でコーディングされたソースを VB2005 に移行しております。 VB6 では GrapeCity社の VSFlexGrid8 を使用していたのですが、 VB2005 ではDataGridView を使用する予定です。 VB2005で作成した画面のDataGridViewはVSFlexGrid1 という名称に変更し、 VB6 の If Trim(VSFlexGrid1.Cells(flexcpText, Row, Col, Row, Col) = "" Then を If VSFlexGrid1.Rows(Row).Cells(Col).Value.ToString.Trim() = "" Then のように書き換えたのですが、下記エラーがコンパイルエラーが出てしまい、 直し方がわかりません。 エラー 11 縮小変換しないで呼び出される、アクセス可能な 'Item' がないため、オーバーロードの解決に失敗しました: 'Public Default Property Item(columnName As String) As System.Windows.Forms.DataGridViewCell': パラメータ 'columnName' と一致する引数は 'Long' から 'String' へ縮小変換します。 'Public Default Property Item(index As Integer) As System.Windows.Forms.DataGridViewCell': パラメータ 'index' と一致する引数は 'Long' から 'Integer' へ縮小変換します。 同一プロシージャ内で上記エラー箇所の5~6行前では以下の書き換えができています。 VSFlexGrid1.cell(flexcptext, Row + 1, OGRDNO_INSAMOUNT) = Format(TL_INSAMOUNT, "###,###,###") + Chr(&HD)                         ↓ VSFlexGrid1.Rows(Row).Cells(10 + OGRDNO_INSAMOUNT).Value = Format(TL_INSAMOUNT, "###,###,###") 恐らく、かなり初歩的な事だとは思うのですが、 お分かりの方、よろしくお願いします。

  • vb2005でウェブページのテキストボックスに値を代入するには?

    WebBrowser1.Document.All.Item("userName").Value = "xxx" お世話になります。 以前のvbだとこれで代入できたのですが valueプロパティがなくなっていて 代入できません。 どうすれば、vb2005からウェブページの テキストボックスに代入できるのでしょうか? 教えてください。お願いします。

  • datagridviewに行追加し、値を入れたいです。VB.NET 

    'データグリッドの選択された値を変数frowに代入する。 frow = DataGridView1.SelectedCells.Item(0).Value 'データグリッドの選択された値を変数srowに代入する。 srow = DataGridView1.SelectedCells.Item(1).Value 'データグリッドに新しい行を追加する。 KYU70000_1.DataGridView1.Rows.Add(DataGridView1.Rows) KYU70000_1.DataGridView1.Rows.Add(DataGridView1.Rows) '選択された値をKYU70000_1のデータグリッドに代入する。 frow = KYU70000_1.DataGridView1.SelectedCells.Item(0).Value ←ここがインデックスが範囲を超えています、となります。 srow = KYU70000_1.DataGridView1.SelectedCells.Item(1).Value どうすれば良いのでしょうか?教えてください。意味が分かりません。

  • Vb .net オブジェクトの属性に応じて値を変え

    Vb .net オブジェクトの属性に応じて値を文字列に加工して渡したいです。 DataTableのセルやStringやIntegerやdateなどの値が渡されることを想定しています。 postgresqlのWhere句に渡す事を想定しています。 strTmp = TestTest(Object1) strSql = "Where item1 = " & strTmp <内容> ・オブジェクトの値がDBNull.Valueなら文字列で"null" ・数字属性の場合、  文字列に変換して数字を渡す ・日付属性の場合、  文字列に変換して値を渡す ・文字属性の場合、  シングルクオートした値を渡す。 ・上記以外は文字列で"null"を渡す。 <書きかけ> function TestTest(byref p01 Object) As String dim aaaa as object dim bbbb as string if aaaa is DBNull.Value then bbbb = "null" else Select Case aaaa 属性 Case 数字の場合 bbbb = aaaa.toString Case 文字の場合 bbbb = "'" & aaaa.toString & "'" Case 日付の場合 bbbb = "'" & to_timestamp('" & Format( aaaa, "yyyy.mm.dd hh:nn:ss" ) & "', 'YYYY.MM.DD HH24:MI:SS')" Case Else bbbb = "null" End Select end if Return (bbbb) end function <メモ> ・属性の判定方法が分かりません。 ・何か見落としている事はありませんか? 以上、よろしくお願いします。

  • テキストリンクへの値の代入の仕方について?

    現在JAVASCRIPTを使って自動見積が出来るフォームを作成中なんですが、 document.Calc.OPT01.value = item1[no1]+":"+item2[no2]+":"+item3[no3]+":"+item6[no6]+":"+item4[no4]+":"+item5[no5]; このように記述すれば値はテキストフォームに代入できるのですが、これではショッピングカートが動作しない為、OPT01のところをOPT-01として値が代入できるようにしたいです。 どなたか方法が分りましたら教えてください また、計算で小数点以下を削除するにはどうしたらよいでしょうか? 現在の計算はこんな感じです document.Calc.OPT01.value = item1[no1]+":"+item2[no2]+":"+item3[no3]+":"+item6[no6]+":"+item4[no4]+":"+item5[no5];

  • カレントセルの値をクリアしたい

    VB2005環境です。 ボタンをクリックした時、DataGridViewの、カレントセルの値を 削除したいと考えています。 単純に Me.TestDataGridView.CurrentCell.Value = "" としたところ、エラーが出てしまい、うまくいきません。 (System.ExceptionはInt32の有効な値ではないと怒られる) カレントセルの値をクリアするには、どのようにしたら良いのでしょうか?

  • 手入力された値を0.5区切りに変換する

    手入力された値を0.5区切りに変換するプログラム を作成しています。 0.1~0.4 を入力 → 0.0 を返す 0.5~0.9 を入力 → 0.5 を返す という感じです。 public static void main(String argv[]){  Double D = new Double(argv[0]);  double d = D.doubleValue() * 2;  int i = (int)d;  double i_d = i;  double d_value = i_d / 2;  Double D_value = new Double(d_value);  String s_str = D_value.toString();  System.out.println(s_str); } で希望する値(String型)は返ってくるのですが・・・ (NumberFormatExceptionは無視します。) すごい無駄の多いプログラムに思えて仕方ありません。 超初心者プログラムであること重々承知ですが、もっと短くなりませんか? 環境:JDK1.4 です。

    • ベストアンサー
    • Java
  • VBA プロシージャで値を渡す方法

    エクセルVBAのプロシージャで値を渡す方法はどうしたらいいのでしょうか。 たとえば、下記のようなプログラムを書いたとします。 --------------------------------------------- Private Sub test_main() Dim drink As String Dim alcohol As String Call test(cola, beer) End Sub Public Sub test_module(ByVal drink As String, ByVal alcohol As String) Cells(1, 1).Value = drink Cells(2, 2).Value = alcohol End Sub --------------------------------------------- このプログラムはもちろん不完全です。試してみたら動きませんでした。 やりたいことは、メインのプロシージャ(test_main)から、test_moduleを 呼び出し、同時に「cola」と「beer」の値を渡します。呼び出された先で、 エクセルのワークシートのセルに値を入力します。 重複しますが、それぞれの値「cola」と「beer」は変数「drink」と「alcohol」に代入されます。 この変数をcell(1,1)とcell(2,2)に入力します。 ワークシート上のcell(1,1)には「cola」、cell(2,2)には「beer」 と入力されます。 変数は数値ではなく、文字列です。 ポイントは、変数「drink」と「alcohol」をどのプロシージャに宣言するのか また、変数に値「cola」と「beer」をのどプロシージャでどういうふうに代入するのか。 そして代入した変数をどうやって呼び出したいプロシージャに渡すのかです。 このようなことをするには、上記プログラムをどう書き換えたらよいのでしょうか。