変数を使用してオブジェクトに#20031023Z#と代入する方法は?

このQ&Aのポイント
  • オブジェクトに代入する変数の書き方について質問です。
  • 例えば、"#日付Z#"の部分に変数を使用したい場合、"#"と変数と"Z#"を結合することで代入できますが、エラーが発生します。
  • 変数を使用してオブジェクトに"#20031023Z#"と代入する方法を教えてください。
回答を見る
  • ベストアンサー

#を含む変数の書き方

オブジェクトに代入する書き方は、 objR.BeginDate = "#20031023Z#" objR.ExpDate = "#20031028Z#" という書き方になるものがありまして、この "#日付Z#"の部分に変数を使用したいのですが、 例えば LicBeginDate=Date LicExpDate=DateAdd("d",5,LicBeginDate) として、 objR.BeginDate = "#" & LicBeginDate & "Z#" objR.ExpDate = "#" & LicExpDate & "Z#" としてもエラーになってしまいます。 オブジェクトに"#20031023Z#"と代入しなくてはいけない場合に、変数を使うにはどのような書き方をすれば いいのでしょうか?

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

>LicBeginDate=Date >LicExpDate=DateAdd("d",5,LicBeginDate) として変数に入れていると言う事は、LicBeginDateとLicExpDateは日付時刻型の変数ですよね? だとすると、そのまま objR.BeginDate=LicBeginDate objR.ExpDate=LicExpDate と代入するのではダメなんでしょうか? objR.BeginDateとobjR.ExpDateが日付時刻型ではなく文字列型だった場合は、LicBeginDateとLicExpDateを、日付を文字列に変換する関数を使ってyyyymmddの形の文字列に変換して、前後に"#"と"Z#"を足して代入すれば良いと思いますが…。

Rubellite
質問者

お礼

変数に普通の数字 LicBeginDate="20031023" LicExpDate="20031025" というものから順番にチェックしていったところ、答えがでました。 書き方に問題があったのではなくて、 Date関数が拾ってくる日付のフォーマットが単純に 2003/10/23 という"/"を含むものになっていたので、エラーになっていたようです。 なので、 LicBeginDate=Year(Now) & Month(Now) & Day(Now) LicExpirationDate=DateAdd("d",5,Date) LicExpirationDate=Year(LicExpirationDate) & Month(LicExpirationDate) & Day(LicExpirationDate) とすることで、 20031023と20031028と代入され、エラーが解消されましたm(_ _)m ペコ

関連するQ&A

  • ASPでの日付の取得について

    ASPにてシステム日付の3日前の日付を取得したいのですが、 下記のようにすると変数varAに 38735 という数字が入ってきます。 システム日付の1日後のvarBには 2006/01/22 と入るのですが、 x日前の日付の取得はどうすればよろしいのでしょうか? varA =DateDiff("d", 3, date) varB =DateAdd("d", 1, date)

  • エクセルマクロ 異なる変数でのループ

    エクセルマクロのループ処理に関して、 異なった変数を使いループをさせたいです。 例えばA~Dまでの変数があり、変数Zに順々に変数を代入して処理をさせたいです。 ループ開始 Z = [A-D] (変数Zを使う処理) ループ終了(繰り返し) 1回目にA 2回目にB ・ ・ といったイメージです。 初歩的な質問で恐れ入ります。 よろしくお願いします。

  • オブジェクト変数にInteriorオブジェクトなどは代入できますか?

    オブジェクト変数にInteriorオブジェクトやBordersオブジェクトを代入することってできますでしょうか? 例えば変数"HT"にInteriorオブジェクトを代入して、 Range("C3").HT.colerindex=7 という設定はできるのでしょうか?

  • rubyにおける変数と代入のメモリの様子について

    Rubyの変数と代入演算は、メモリについてどのような扱いになっているのでしょうか。2点ほど疑問電があります。 1点目:代入演算は変数にアドレスを渡しているのか RubyLifeのRuby入門のサンプルをみて学習していたところ疑問がわきました。 http://www.rubylife.jp/ini/var/index4.html を参照しながら示します。 str1 = "Tokyo" str2 = str1 str1 << ",Japan" とやるとstr1もstr2も"Tokyo,Japan"となることから、rubyでの代入演算はアドレスを代入してると考えました。 2点目:新しくオブジェクトを代入すると別メモリ領域において、そのアドレスを代入しているのか str1 = "Tokyo" str2 = str1 str1 = "Osaka" とやると、str1は"Osaka"、str2は"Tokyo"となります。 前述の参照渡と考えるとstr2も"Osaka"となっているはずですが違いました。 ここで解説に(引用はじめ) なお2つの変数が同じオブジェクトを指し示した後で、どちらかのオブジェクトに新しいオブジェクトを 代入した場合は、代入された変数が指し示すオブジェクトだけが変更されるだけです。(引用おわり) とあります。 このことをふまえると、新しいオブジェクトを変数に代入するというのは、別のメモリ領域をつくってデータを置いてから、そのアドレスを変数に代入している、と考えました。 これら2つの考えと実際の仕組みは一致しているのでしょうか、と言うのが質問です。 質問点をまとめると、Rubyにおいて変数に対して ・代入演算はアドレスを代入しているのか(Cでいうポインタの扱いなのか) ・新しいオブジェクトを代入するときには、新メモリ領域を作ってデータを入れてそのアドレスを代入しているのか という点です。 ついこの間はじめたばかりの初心者ですが、どうかご教授よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • shで書いたシェルスクリプトで`とか'とかの中で変数を使いたい。

    標題の質問ですが、gnu dateコマンドを使って数日前の日付を取得しているのですが、 こんな具合: DATE=`date --d '1 day ago'` 何日前の日付を取得するかを引数で決めたいのです。 しかし DATE=`date` --d '$1 day ago'` これでは当然上手く行きません。 上手いことエスケープして変数を使用する方法を教えてください。 シェルはshです。

  • 変数変換?

    まずx^2y''+xy'-y=0という問いがあるのですがy1=xで、y=y1zとおきyが解であるときのzの満たす方程式とはどういうことなのでしょうか?またx^2y"+4xy'+2y=1,y(1)=y'(1)=0という問いで変数変換を考え(d^2y/dt^2)をy"=(d^2y/dx^2),y=(dy/dx),(dy/dt)で表し、元の方程式に代入してy(t)の満たす方程式にしたのですがそこからどう解けばいいのかわかりません。また元の方程式を解く場合(変数変換をしない場合?)と上記の作業をした場合では解き方、解等違ってくるのでしょうか?どうかご教授お願いします。

  • クラス変数について質問

    Javaのオブジェクト指向を解説した参考書で現在勉強しているのですが、その参考書のある問題の答えの解説として「クラス変数は参照変数なので参照以外を代入できません」と書いてありました。 でも、例えば、static int n=0と書けば、0をnに代入できます。 因みに、「クラス型の変数」は参照しか代入できないのはわかっています。 よって「クラス変数」は誤植で、正しくは「クラス型変数」なのでしょうか?

    • ベストアンサー
    • Java
  • 日付時刻型の比較

    お世話になります。コンピュータ歴が短いもので質問の意味がよくわからないかもしれませんがよろしくおねがいします。 accessのDB「テーブル1」に日付時刻型のフィールド「フィールド1」があり、 2001/00/00 00:00:00の形式でデータが入っています。 テーブル1のデータで、1ヶ月前のデータより新しいもののみをVBScriptで抜き出したいのですが、下記のようにDATEADD関数で変数1に1ヶ月前の日付を代入し、それと比較しようとしましたが、うまくいきませんでした。 変数1 = DATEADD("m" ,-1 ,NOW) Set rs = Server.CreateObject("ADODB.RecordSet") sql = "SELECT * FROM テーブル1 WHERE フィールド1 >= 変数1" 変数1をResponse.Writeすると見た目は同じ形式で入っていました。 変数1の部分を手書きで#2001/00/00 00:00:00#と書けばうまく動いてくれるの ですが・・・ 変数の値を型変換しなければいけないのでしょうか? 良い方法がありましたら教えてください。

  • AccessのVBAでの日付の計算の記述のしかた

    AccessのVBAで日付の計算をしようとしています。 DateAdd("m",6,Date()) と入力するとコンパイルエラーになります。 どこが間違っているでしょうか。 マクロウィンドウで値の代入とかやっていたときは、これでできていた気がします。 VBAだと記述の仕方が変わるんでしょうか。 実際は、「6」とか「Date()」のところに フィールド名を入れたいのですが、それって可能でしょうか。 ものすごく初歩的な質問だとおもいますが、 回答よろしくお願いします。

  • public変数

    formA で dim test as New fromB test.m_foo = "分かりません" と値を代入し fromB で public変数 Public m_foo as string を宣言しています その他の formC, formD, formE で formBのpublic変数m_fooを使用したい場合  例 formC 上で宣言している変数 ANS に代入したい場合    formC に ANS = formB.m_foo と記述しても上手くいきません どのように記述したら  formB で宣言しているpublic変数を他のformでも使用できるのでしょうか?     

専門家に質問してみよう