請求書などで1ヶ月分のデーター範囲指定して表示させたいのですが、
今までは(出力日の)先月の 1 日から末日までのすべての日付をその範囲とする日付値の範囲を指定など、区切りによい範囲で作っていました。
If {A_P300.請求日} in LastFullMonth Then{A_P301.請求額}    
  Else 0

 これを20日締めに合わせて作り直したいのです。
 指定したい範囲は3つ。
  例)4月20日の請求書
   先月請求分 1/20~2/19
   今月請求分 2/20~3/19
   入金    3/20~4/19
 できれば、出力した月を認識させて、それぞれ3つの範囲を指定したいのです。

質問内容がわかりにくい場合は指摘してください!

宜しくお願いします。

A 回答 (1件)

こんにちは。

maruru01です。

DateAdd関数を使用すればいいでしょう。

例えば、startDate~endDateの期間でデータを抽出する場合は、

startDate = "2002/1/20"
endDate = DateAdd("m", 1, startDate) - 1
WhereCond = "BETWEEN #" & startDate & "# AND #" & endDate & "#"

という感じです。
なお、DateAdd関数の詳細はヘルプなどを参照して下さい。
では。

この回答への補足

自分なりに調べたつもりなんですけれど、よくわかりませんでした。
 今 Crystal reports というレポーティングソフトを使っているのですが、
そこで、VBで式をつくり、表示させるフィールドをあらたに加えようとし
ています。
 例でいうと、3つそれぞれの範囲内に当てはまる場合のみ’請求金額’を抽出する。
 という感じです。
 説明がうまくできないので、回答もむずかしいですね。


教えていただいた 式(関数)だと何が表示されるのでしょうか。
素人ですみませんでした!

補足日時:2002/04/01 15:34
    • good
    • 0
この回答へのお礼

maruru01さん ありがとうございます!
 素人なので、教えていただいた回答を参考に今やっています。
 結果はまた報告します。

お礼日時:2002/04/01 13:58

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QベクトルA,B,C A×(B×C)=z(BA・C-CA・B)

「ベクトルA,B,C A×(B×C)=z(BA・C-CA・B)この式では、A,B,Cに関して
線形だからzはこれらの大きさに依らない。」

ってどいうことなのかわかりません。特に線形が何を意味するのか。
解かる方教えて下さい。

Aベストアンサー

訂正です。最後の一行
>zはこれら3つのベクトルのなす角のみに依存しています。
は無視してください。
 A×(B×C)=B(A・C)-C(A・B)
は良く使う恒等式の1つですね。

QVBAの指定範囲での指定文字の色変更についてご教示ください

VBAの指定範囲での特定文字の色変更についてご教示をお願い致します。
添付画像を例とします。
A~Cセルまでの範囲で「みかん」=オレンジ、「りんご」=赤、「ぶどう」=紫。
とする為にはFont.colorをどの様に組み合わせればよろしいのでしょうか?

よろしくお願い致します。

Aベストアンサー

Sub sample()

For i = 1 To 3
For j = 1 To 3
Select Case Cells(i, j)
Case "みかん"
Cells(i, j).Font.Color = RGB(255, 55, 0)
Case "りんご"
Cells(i, j).Font.Color = RGB(255, 0, 0)
Case "ぶどう"
Cells(i, j).Font.Color = RGB(128, 0, 128)
Case Else
Cells(i, j).Font.Color = RGB(0, 0, 0)
End Select
Next
Next
End Sub

Sub sample()

For i = 1 To 3
For j = 1 To 3
Select Case Cells(i, j)
Case "みかん"
Cells(i, j).Font.Color = RGB(255, 55, 0)
Case "りんご"
Cells(i, j).Font.Color = RGB(255, 0, 0)
Case "ぶどう"
Cells(i, j).Font.Color = RGB(128, 0, 128)
Case Else
Cells(i, j).Font.Color = RGB(0, 0, 0)
End Select
...続きを読む

Q日本人CAは乗っているのですか

来月の7月2日のブリティッシュ・エアウェイズ BA0006便(成田空港 10:50発 ヒースロー空港 15:20着予定)の飛行機には、日本人のCAは乗っているのでしょうか。

Aベストアンサー

日本を離発着するほぼすべての便に日本人か日本語話者がアテンダントして乗務しています。
例外なのはLCCと途上国でもかなり貧困な地域の飛行機だけです。

日本離発着の航空機に日本語話者アテンダントが乗っている一番大きな理由は「日本語でアナウンスするため」です。それも通常のアナウンスだけでなく、緊急時のアナウンスに日本語が必要だからです。

ましてやロンドン-成田なんて超ドル箱路線ですから、日本人客獲得のためにも日本人アテンダントが居ないわけがありません。CAさんだって「アタシ、BAのCAやってるの!」ってなんか箔がありそうでしょう。

だから、求人すれば応募はあるはずで、日本人が足りないから乗ってない、ということは絶対にない、といえるレベルだと思います。

QExcelのファイル{(75行*1列の1セット)*33セット分}データをVBで扱う方法を教えてください。

Excelのファイル{(75行*1列の1セット)*33セット分}データをVBで扱う方法を教えてください。

ExcelのデータをVBに読み込んで、それを並び替えするプログラムを作ろうとしています。
なのですが、ExcelのデータをVBに読み込む方法がわかりません。
ネットで調べたらopen,close,get・・とあるのですが、いまいちわかりません。

どなたか教えてください。

Aベストアンサー

Open/Close では実質的に言って無理です。
( Excel のファイル構造がわかればできるかもしれませんが・・・)
VB6 と VB.NET では少し記述方法が違いますが、VB.NET だと

Dim eb As Object
Dim es As Object
Dim strFileName As String

strFileName = "C:\Temp\Book1.xls"
eb = GetObject(strFileName)
es = eb.Sheets(1)
MessageBox.Show(es.Cells(2, 1).value, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information)
eb = Nothing

のような感じで Excel のような感じで内容を読むことができます。
(上の例では 1番目のシートの A列 2行目のセルの内容をメッセージボックスに表示します。)
並び替えですが、Excel 上で並び替えをすることも可能ですが、
読み込んでから並び替えをするなら、
VB6の場合:並び替え関数を自作(並び替えのアルゴリズムはクイックソートやヒープソートなどいろいろありますので、検索して調べてみてください。どこかに VB のサンプルがあるかも。)
VB.NETの場合:Array.Sort が使用可能です。

Open/Close では実質的に言って無理です。
( Excel のファイル構造がわかればできるかもしれませんが・・・)
VB6 と VB.NET では少し記述方法が違いますが、VB.NET だと

Dim eb As Object
Dim es As Object
Dim strFileName As String

strFileName = "C:\Temp\Book1.xls"
eb = GetObject(strFileName)
es = eb.Sheets(1)
MessageBox.Show(es.Cells(2, 1).value, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information)
eb ...続きを読む

QオフのCAはCAと分かる印を付けているでしょうか

オフのCAはCAと分かる印を付けているでしょうか

勤務中でないオフのCAが飛行機に乗るときは、私服でもCAと分かる印を付けているでしょうか?

Aベストアンサー

 自分が勤務する航空会社に搭乗する場合と、全く関係ない航空会社に搭乗する場合がありますけど、質問の主旨は?CAだって出かけることはありますが、自社便が運行していない空港には他社を利用しなければ行けませんから。。。
 それと、オフの場合CAですよ!と目印なんて付けません。どうして、目印なんて付けるの?オフでしょう。

Qある文字列の中で数字の20か19がでてくるところまでを取得したい。

恐れ入ります。
 
a = "ごはん2006おちゃづけ"

として ごはん を取得したいんです。
ただこのaの中は "のり1989おちゃ"
かもしれなくて この場合だとのりなんですよね。

このaは年代をあらわしていて、1900~2006まであるんですよね・・。

20だと
Microsoft.VisualBasic.Left(a,InStr(textinnertext(2), 20) - 1)

で取得できるんですけど
20か19かどちらかわからないので困っています。
なるべくif文をつかわずにしたいのですが
どうすればよろしいでしょうか?教えてください。

Aベストアンサー

Imports System.Text.RegularExpressions

Dim a As String = "ごはん2006おちゃづけ"
Dim re As Regex = new Regex("(.+?)\d")
If re.Match(a).Success Then
Console.WriteLine(re.Match(a).Result("$1"))
End If

QCAのコールボタンは押さない方が良いでしょうか

飛行機の座席についている、CAを呼ぶコールボタンは、押すとCAが気を悪くするでしょうか。
CAに用事がある時は、ギャレーまで歩いて行って、用事を頼む方が、CAに喜ばれるでしょうか。

Aベストアンサー

>CAを呼ぶコールボタンは、押すとCAが気を悪くするでしょうか。

何で気を悪くするんでしょうか。彼女達は、気が向かないと客を無視、、、、っとそうじゃなかった、「忙しいと対応しきれない」だけですから気にしなくていいですよ。ね、リストラ嵐のJ社さん。

SFOから戻る便でお粥に塩がなくて(これはCAさんの責任じゃないけどね)、幾ら呼んでも声かけても無視しまくって、片付けのときにその旨を告げたら塩だけ持ってきて(お粥冷めてるんですけど)、成田で苦情言ったら、「難癖つけてタクシー券せしめるつもりか」と恫喝した地上職員がいるJ社さんの便だって、呼ぶだけは只ですから、どうぞご自由に。私、あれからJ社にだけは絶対に乗らなくなりました。

>ギャレーまで歩いて行って、用事を頼む方が、CAに喜ばれるでしょうか。

免売の清算してたり、休憩で食事していたり(Cクラスの残り食ってたりすることもありますので、「俺の食事よりいい」とショックを受けることも)、部下を

QVBA 範囲の指定方法

下記のコードにて、列の範囲を指定したいのですが、”セルD2”のところの具体的な書き方が分かりません。

お分かりの方教えて下さい。

Range(Selection, セルD2)←SelectionはD列のどこか

Aベストアンサー

Range(Selection, Range("D2")).Select

では、いけないのですか?

Qケーブル用B-CAS(C-CAS)カードと普通のB-CASは違うの?

実家が地域ケーブルTVに加入したので、TZ-DCH500というケーブル用チューナーを手に入れ、古いTVに接続しました。初期スキャンしてチャンネルは認識していたようです(ショップチャンネルは映っています)が、BSチューナーで使っていたB-CASカードを入れたものの、C-CASカードを入れるよう表示が出ました。確かにカードスロットにはC-CASカードと書いてあります。普通のB-CASカードは使えないのでしょうか?また、ケーブル用B-CAS(C-CAS)カードの入手方法と費用がかかるのでしょうか?

Aベストアンサー

>ケーブル用B-CAS(C-CAS)カードの入手方法と費用がかかるのでしょうか?

CATV専用カード(オレンジ色)の入手と費用は、契約のケーブルテレビ会社へ確認願います。

下記のQ&Aの3です。

http://www.b-cas.co.jp/faq/a503.html#a503

Q出力するプリンタを指定したい。

現在、VB6.0で開発を行い、帳票をACCESSのレポートを使用しています。

レポートを印刷した際に、VB側より指定したプリンタに出力したいのですが、決まって通常使うプリンタに出力されてしまいます。
プリンタは指定できない物なのでしょうか?

ちなみに指定している方法は、デバイス名を記述し、設定されているプリンタを検索し、合うプリンタがあれば、その番号(?)を
Set Printer = XXX(番号)
         ↑忘れました、ごめんなさい。

と言うような形でコーディングしています。

Aベストアンサー

私は、こんな感じにしています。

Private Sub Command1_Click()
Dim prt As Printer
Set Prt = Printer
For Each prt In Printers
If prt.DeviceName = "プリンタのデバイス名" Then
Set Printer = prt
Exit For
End If
Next
Printer.Print "テスト印字"
Printer.EndDoc
End Sub


人気Q&Aランキング