前のログ 次のログ

No.3050 リストビューについて  投稿者:アオ [01/11/01(木)0:27分]

はじめまして。最近趣味でVBでアプリケーションを作り始めましたものです。

簡単な機能なら簡単にWindowsアプリが作成できてびっくりしてます。
またこのHPも大変参考にさせて頂いてます。
そこで質問なのですが、リストビューを使っているのですが、
窓(フォーム)を最大化した場合やマウスで窓を大きくした場合に
フォームの中のリストビューの窓の大きさをリアルに
大きくしたいのですが、可能でしょうか?
可能であれば方法をご教授して頂きたく投稿しました。
よろしくお願いします。

No.3049 MSFlexGridを使用して  投稿者:りゅう [01/10/31(水)23:30分]

初めてメールします。

MSFlexGridを使用して、データ入力画面を作ろうと思っているのですが、
例えばカーソルが1行目にある時は3行目を非表示にして、2行目にカーソルが
ある時は3行目を表示する、といったようなことができるのでしょうか?

No.3048 re:ネットワーク上のmdbにアクセスする際の制約について  投稿者:ゆー太郎 [01/10/31(水)20:24分]

Access はファイルサーバーシステムしか組めないので、

サーバーマシン上にAcccessがインストールされていなくても
大丈夫です。
DAOを使うのなら、VBのセットアップパッケージに DAO3.6 関連の
コンポーネントを組み込んでおいて配布すれば、
クライアントマシンにAccessがインストールされていなくても
大丈夫です。

以下余談です。
複数クライアントから同時にデータベースを操作すると
MDBが壊れる頻度が多くなるので、Access(JETEngine) を
マルチユーザーシステムにはお勧めしません。(特に基幹業務には)
Accessではなく MSDE + ADO を選択した方が、堅牢なシステムが組めますよ。
MSDEは SQLServer7.0のサブセット版ですが、
本格的なクライアントサーバーシステムが組めます。

No.3047 RE:キュー  投稿者:NAO★ [01/10/31(水)17:57分]

>> 一度に取り出すわけではないのでちょっとちがうかな?

>一度に取り出す?

ゆうさんのサンプルだとCommand2_Clickは「表示」ですが
私のは、「取り出し」(POP)を表現してます。

違いは、Command2を2回クリックしたときに、ゆうさんのは
同じ物が表示されますが、キューだと一度取り出(表示)した
物は消えて行くので、私のは一つずつ取り出し(表示)、
取り出し(表示)したのは次のクリックでは表示されない様に
しているというところでしょうか。


>Static は使わない方がいいと思います。

Static を使うより Private の方がいいですか?

No.3046 半角全角の判定  投稿者:takayama [01/10/31(水)17:32分]

文字列の半角と全角を判定する関数ってあるのでしょうか?

よろしくおねがいします。

No.3045 Re:キュー  投稿者:ゆう(U) [01/10/31(水)17:01分]

>      If lngCount - i < 0 Then Exit For

余計でした・・・

No.3044 Re:キュー  投稿者:ゆう(U) [01/10/31(水)16:41分]

Static は使わない方がいいと思います。


最古から表示にすると、一手間かかるので楽な
最新からをサンプルにしていたのです・・・

サンプル)
Private Sub Command2_Click()
Dim i As Long

'最古の文字列から表示
If lngCount > ARRAY_MAX Then
For i = 0 To ARRAY_MAX - 1
If lngCount - i < 0 Then Exit For
Debug.Print strArray((lngCount + i) Mod ARRAY_MAX)
Next
Else
For i = 0 To lngCount - 1
Debug.Print strArray(i)
Next
End If
End Sub

No.3043 Re:キュー  投稿者:ゆう(U) [01/10/31(水)16:29分]

よねKEN さん、NAO★ さん解説ありがとうございます。


> キュー(Queue)は別名FIFO(ファイフォ:First-In First-Out)とも言われる
これならわかります、どうも頭から「メッセージ・キュー」が
離れていなくて、配列と何の関係があるんだ?
と思い込んでいました。


> サインしてもらった人が列を抜けて列がずれていく処理がないのと、
あの方法はそのずらす事をしない方法として、考えたものでした。
※VBでは文字列をずらす事が最大のウエイトを占めるので

メモリ等の消費を減らすなら、先頭と末尾のIndexを管理し、
不要な部分にはvbNullStringをいれるとか・・・

配列要素数の変更も時間の浪費につながると思いましたので
速度最適化の一例という感じです。
※キューにこだわらないのであれば・・・ですが


> 一度に取り出すわけではないのでちょっとちがうかな?
一度に取り出す?

古い物からと言うことなら、Indexをちょっと変えれば
OKですが・・・

> ポインターの使えないVBだと行列がずれていく処理というのが、
> 待ち行列が長くなると、極端に重くなってしまうのが欠点ですね。
>(行列を文字列で構成する場合)
スワップを繰り返し最後をReDimって感じでもOKですね?

文字列記述子を書き換える事で似たような事は可能だと
思います。
※それでもずらさない方が高速なので・・・

No.3042 RE:キュー  投稿者:NAO★ [01/10/31(水)16:13分]

すみません。先ほどのプログラム

キュー(先入れ先出し)じゃなくてスタック(後入れ先出し)に
なっておりました。
以下のように訂正いたします。
Private Sub Command2_Click()
Static FirstDataPoint As Long '最古のデータの位置を示す

If IsNull(FirstDataPoint) Then FirstDataPoint = 0
'最古の文字列から表示
If lngCount - FirstDataPoint < 1 Then Exit Sub
Debug.Print strArray(FirstDataPoint Mod ARRAY_MAX)
FirstDataPoint = FirstDataPoint + 1
End Sub

No.3041 RE:キュー  投稿者:NAO★ [01/10/31(水)15:46分]

ゆうさんのキュープログラム改です。(Command2_Click()のみ変更)


Private Sub Command2_Click()
'最新の文字列から表示
If lngCount - 1 < 0 Then Exit Sub
Debug.Print strArray((lngCount - 1) Mod ARRAY_MAX)
lngCount = lngCount - 1
End Sub

なるほど。配列の中でループか…。勉強になるなぁ

No.3040 RE:キュー  投稿者:NAO★ [01/10/31(水)15:20分]

>キューが何を意味しているか理解出来なかったのですが


キュー(Queue)は別名FIFO(ファイフォ:First-In First-Out)とも言われる
データ構造です。FIFOの名の通り、データを取り出すとき先入れた物から
取り出す「先入れ先出し」方式になっています。

アイドルのサイン会の順番待ちの行列みたいなものと言えば、わかりやすい
でしょうか?(^^;
で、サインしてもらった人は行列から抜けるので、列が一つずつ前へずれて
いきます。

ゆうさんの例だと、
サインしてもらった人が列を抜けて列がずれていく処理がないのと、
一度に取り出すわけではないのでちょっとちがうかな?

ポインターの使えないVBだと行列がずれていく処理というのが、
待ち行列が長くなると、極端に重くなってしまうのが欠点ですね。
(行列を文字列で構成する場合)

No.3039 ネットワーク上のmdbにアクセスする際の制約について  投稿者:super [01/10/31(水)14:46分]

現在Access2000.mdb

でデータベースを作っています。

テーブルを分割して、FrontEnd(フォーム等).mdb
バックエンド(テーブル).mdb

に分けています。

この環境を複数のクライアントで使いたいと思っています。
複数のクライアントのOSはすべて、Windows9*,NT系です。

複数のクライアントから参照するためには、複数の端末に、
Access2000をいれないといけません.


よって、フロントエンド部分をVB6 Enterpriseで作らなければなりません。
DAO使ってVBから、ネットワーク上のmdbにアクセスしなければならなりません。
また、これをプログラムにして配賦しなければなりません。

フロントエンド部分には、VBで作成したPGの他に、マイクロソフトの製品は
はいっていないのですが、これでもデータ部部のmdbにアクセスでき、問題は
ないのでしょうか?

また、バックEND部分のテーブルを置いているPCにもAccessが入っていないのですが、
問題はないでしょうか?正し、このMDBはAccess2000で作ったMDBです

以上

No.3038 Re:プレビュー機能について。    投稿者:TAKE [01/10/31(水)14:43分]

こんにちは。

ゆうさん、回答ありがとうございます。

Printer オブジェクトを使って発行しています。

>「Printer オブジェクト」を使用しているなら
>比較的簡単にPictureBoxなどへ表示切替が
>可能です。

で、また質問なんですが、PictureBoxだと、改ページがあった場合は
どうなるんですか?

市販ソフト等で、vbで書いた帳票がそのままプレビューできるものがあれば
それで良いんですが…。どうでしょう。

よろしくお願いします。

No.3037 よねKEN  投稿者:Re:キュー [01/10/31(水)14:35分]

>キューが何を意味しているか理解出来なかったのですが


キュー(queue)はいわゆる待ち行列で、スタックと並んで代表的なデータ構造です。
銀行のATMなどで人が並んでいるようなイメージですね。
印刷するときのSpoolerとか、Windowsのメッセージの管理なんかもキューです。

キューというのをみて、私も真っ先にListBoxやコレクションを思い浮かべましたが、
配列を循環させるというのは、目から鱗でした。

No.3036 Re:キュー  投稿者:ゆう(U) [01/10/31(水)14:17分]

キューが何を意味しているか理解出来なかったのですが

そういうことなら・・・

単純な配列を利用するだけでもOKですよ。

サンプル)
テキストボックス1個(Text1)
コマンドボタン2個 (Command1,Command2)
Private Const ARRAY_MAX = 10 '保存限度数
Private strArray(0 To ARRAY_MAX - 1) As String '保存用配列
Private lngCount As Long '保存数(Index兼用)

Private Sub Command1_Click()
'文字列の保存
strArray(lngCount Mod ARRAY_MAX) = Text1.Text
lngCount = lngCount + 1
End Sub

Private Sub Command2_Click()
Dim i As Long

'最新の文字列から表示
For i = 1 To ARRAY_MAX
If lngCount - i < 0 Then Exit For
Debug.Print strArray((lngCount - i) Mod ARRAY_MAX)
Next
End Sub
※Long型の限界に影響を受けますが、その辺は
 コードで簡単に解消できます。
 汎用性を持たせるなら、クラス化するとか…

No.3035 MSChartについて  投稿者:匿名 [01/10/31(水)13:29分]

MSChartを利用して棒グラフを作成する際に、

棒グラフの横幅を項目数に関わらず一定にしたいのですが、
方法がわかりません。
また、グラフ表示位置にスクロールバーを設定することは可能でしょうか?
可能ならば、方法を教えてください。
よろしくお願いします。

No.3034 RE:キュー  投稿者:ももちゃ [01/10/31(水)12:00分]

NAO★さんどうもありがとうございました。


とりあえず、教えてもらった方法で急場をしのぎたいと思います。
配列をユーザー定義型にしようかという声が聞こえてきているので、
ヘルプの中から見つけたコレクションというものが利用できるかど
うか勉強したいと思います。

No.3033 RE:win2000でvbのexeからexcelを起動したときのエラー    投稿者:Rabbit [01/10/31(水)11:36分]

1:Windows 2000 pro でも、動くものもある。

2:NT4.0 workstation では問題なく動いていた。
3:ディストリビューションウィザードなどインストーラーでインストールはしていない。
(てか、事情が合ってadmin権限を使用できなかった)
4:サードパーティのDLLなどに関しては regsrv32でコマンドで登録した。

エラーの発生場所から、エラーが出るPCにはエクセル(MSO9.DLL)が無いのではありませんか?

No.3032 RE:「イベント付きフォーム」について  投稿者:靴下カタオ [01/10/31(水)0:07分] http://www.KenAshizuka.com/

NAOさん、どうもありがとうございます。

レスを読ませていただいて、
girl.Show
というのはそういう意味だったのか、
と、初めて理解することができました。

実は、このひとつ前の例題で、
クラスモジュールについての記述があったので、
今回もそうなのかと思っていたのですが、
これは「Form2 を Person クラスと」するということで、
クラスモジュールを作る必要はなかったようです。
(私自身、クラスモジュール、また、
「Form2 を Person クラスとする」ということが
概念として今でもわかっていないので、
このような質問をさせていただいた次第です)

どうもありがとうございました。

No.3031 win2000でvbのexeからexcelを起動したときのエラー  投稿者:よし [01/10/30(火)22:41分]

おはつに書き込みます。


Windows 2000 pro で VB6.0 SP3で作成したexeを稼動させています。

そのexeからExcel 2000を起動させようとすると
「48:DLL読み込み時のエラーです」
と出てしまいます。

エラーの発生個所は 1 の個所で発生しています。
1: Set xlApp = New Excel.Application ← Dim xlApp As Excel.Application として定義
2:Set xlbook = xlApp.Workbooks.Add(pass)

なぜそこでエラーが出るのか分かる方お助けください。

ちなみに、
1:Windows 2000 pro でも、動くものもある。
2:NT4.0 workstation では問題なく動いていた。
3:ディストリビューションウィザードなどインストーラーでインストールはしていない。
(てか、事情が合ってadmin権限を使用できなかった)
4:サードパーティのDLLなどに関しては regsrv32でコマンドで登録した。
です。

No.3030 RE:フォームのリサイズ不可  投稿者:NAO★ [01/10/30(火)22:07分]

フォームの BorderStyle プロパティを固定にしてみてください

No.3029 RE:キュー  投稿者:NAO★ [01/10/30(火)21:38分]

キューはわたしもプログラムの中で使ったことがあるのですが、

そのときはスピード重視だったので、メモリ効率とか考えませんでした。
ソースが汚いので、公開できません(^^;

ちなみに簡単にキューを実現するには Visible=Flase にした List コントロールを
使うというのもあります。
Form に List 1つと ボタンを2つ配置して次のコードを実行してみてください
(テストなので Visible はTrueのままで)

' Listを使ったキューの実現
Option Explicit
Private cnt As Integer

Private Sub Command1_Click()
cnt = cnt + 1
List1.AddItem "Command " & cnt
End Sub

Private Sub Command2_Click()
If List1.ListCount > 0 Then List1.RemoveItem 0
End Sub

No.3028 フォームのリサイズ不可  投稿者:ぷー [01/10/30(火)21:09分]


いつもお世話になっております。

フォームのリサイズを出来なくする(最小化を除く)には
どうしたらよいのでしょうか?
マウスアイコンも変わらないようになるのでしょうか?

宜しくお願い致します。

No.3027 RE:エクセルの形式をCSVにして保存    投稿者:NAO★ [01/10/30(火)21:02分]

>「日付を文字列に変えてから保存すればOKのようです。」


こちらをご覧ください
http://www.microsoft.com/JAPAN/support/kb/articles/J031/0/97.htm

No.3026 ISAMドライバーって何?  投稿者:まちゃと [01/10/30(火)19:31分]

はじめまして。

昨日よりVBをはじめたばかりの超初心者です。

さて、テキスト本にある例題で住所録を作っていますが、
DATAコントロールを配置して実行すると
組み込み可能なISAMドライバーが見つからないといった
メッセージが出てきます。

ISAMドライバーとはなんなのでしょうか?

よろしくご教授の程お願いいたします_(._.)_

No.3025 RE:エクセルの形式をCSVにして保存  投稿者:VB太郎 [01/10/30(火)18:05分]

先ほどは回答ありがとうございました。

ところで回答の中に
「日付を文字列に変えてから保存すればOKのようです。」
これは20011030という日付がはいっていた場合に
VBから書式設定を文字列に変換すると
#になってしまってうまく行きませんでした。
「Excelの日付形式から直接CSVに変換してしまうのですかね?」
これは何か問題があるのでしょうか?

No.3024 RE:エクセルの形式をCSVにして保存    投稿者:VB太郎 [01/10/30(火)17:51分]

ありがとうございます。

大変参考になりました。

No.3023 RE:エクセルの形式をCSVにして保存  投稿者:花ちゃん [01/10/30(火)16:52分]

ダイアログボックスを表示して保存すればOKです。

日付を文字列に変えてから保存すればOKのようです。

Excelの日付形式から直接CSVに変換してしまうのですかね?

No.3022 Re:FlexGridとは?  投稿者:ちゃぶ [01/10/30(火)15:32分]

NAOさん 回答有難うございました。

No.3021 エクセルの形式をCSVにして保存  投稿者:VB太郎 [01/10/30(火)14:49分]

VBからエクセルファイルを開いてCSV形式で保存すると

日付 yyyy/mm/ddがmm/dd/yyyyになってしまいます
CSV形式でもyyyy/mm/ddで保存する方法があれば
どなたか教えて下さい、ちなみにソースは以下のようにしてます。

Dim wExcel As Excel.Application
Dim wBook As Excel.Workbook
Dim wPath As String
Dim wCsvPath As String

wPath=txtXlsPath.Text
wCsvPath=txtCsvPath.Text

Set wExcel = CreateObject("Excel.Application")
Set wBook = wExcel.Workbooks.Open(wPath)

wExcel.ActiveWorkbook.SaveAs filename:= _
wCsvPath, FileFormat:=xlCSV, _
CreateBackup:=False

No.3020 キュー  投稿者:ももちゃ [01/10/30(火)14:31分]

たとえば、配列を用意して

スタックの場合追加は配列の要素を追加していって取り出しは一番後ろから
取り出せば実現できると思いついたのですが、キューの場合はどう実現する
のでしょうか。
配列の先頭から取り出した後、配列をひとつづつ詰めると要素がたくさんあ
る場合時間がかかると思うのです。
配列をそのままにしておくのも要素がたくさんある場合配列が大きくなるよ
うな気がします。

No.3019 Re:プレビュー機能について。  投稿者:ゆう(U) [01/10/30(火)13:50分]

どの様に印刷発行しているのでしょうか?


「Printer オブジェクト」を使用しているなら
比較的簡単にPictureBoxなどへ表示切替が
可能です。


No.3018 Re:Re:フォルダーの削除  投稿者:K!? [01/10/30(火)13:06分]

花ちゃんさん、ゆう(U)さんありがとうございます。

じつはプログラム事態は使用条件を満たしているのですが、
勉強と思って試しにタイトルを変更しようとしました。
そしたら見たこともないエラーが出てしまったので・・・
花ちゃんさんすいませんでした。
開発環境は Win2000,VB6SP5です。
.lpszProgressTitleは文字列経由しています。
ゆう(U)さんに教えて頂いたサンプルコードを見ました。
コードの違いは自分のものではバッファーの確保をしていませんでした。
これから試してみます。といきたいのですが、今いるところではできないので明日試してみます。
ありがとうございました。

No.3017 Re:フォルダーの削除  投稿者:ゆう(U) [01/10/30(火)12:09分]

.lpszProgressTitle = "てすと"

としているのでしょうか?
※私の環境でもエラーになりました、
 ただ今は再現できません

そのときは文字列変数を経由しすると、エラーは
でなくなりました。

ちなみにそのタイトルを変えても、私の目には
ダイアログの何処にも見えてきません。

削除しています
コピーしています
移動しています
などがタイトルになってしまいます。
※Win2000/VB6.0(SP5)


ファイル名の所に表示されるサンプルは・・・
vbvbvb.com
gTips (0989)
で取得できます。

コードの違いを確認してみてください。

No.3016 RE:マクロが実行しません。    投稿者:花ちゃん [01/10/30(火)11:17分]

一度Excelを起動(警告を表示させないで)してからVBからその

マクロを動かすのではだめですか?

起動時に警告を表示させないでマクロを実行する方法は無いようですが??? 有れば教えて下さい。 ※Excelの古いバージョンを使用すれば表示しない。 ※ツール→マクロ→セキュリティ で 低 に設定すれば別ですが?


No.3015 Re:RE:フォルダーの削除  投稿者:花ちゃん [01/10/30(火)10:37分]

何をどのようにされたいのか?

又、エラーが発生したコード等記入して頂かないと判断がしにくいのでは
又、環境もあわせて記入頂くと適切な回答が得られるのでは!

NTやWin2000だと http://www.microsoft.com/japan/support/kb/articles/J055/1/61.htm この辺
が該当するのかも?


No.3014 RE:「イベント付きフォーム」について  投稿者:NAO★ [01/10/30(火)9:12分]

ソースを見ると

Private Sub Form_click()
girl.Show
End Sub
となっていますので、フォームをクリックするとForm2が表示されるようです。
あと、名前をForm1_Clickにしないとダメでしょう。

もし、Form1と同時に表示させたいなら
Private Sub Form_Load()
Set girl = New Person
girl.Show 'Form1_Clickより移動
End Sub

してあげれば良いと思います。

No.3013 「イベント付きフォーム」について  投稿者:靴下カタオ [01/10/29(月)23:26分] http://www.KenAshizuka.com/

いつもお世話になっております。


技術評論社の「Visual Basic 6.0 初級プログラミング入門(上) :河西朝雄著」

の「イベント付きフォーム」に関する例題で、
「Form2 を Person クラスとし、名前と年齢データを入力し、Command1 のクリックで msg
イベントを発生し、入力データを Form1 に表示」
するプログラムとして、次のようなコードを作成しました。

フォームモジュール( Form1 )

−−−−−−−−−−−−−−−−−−−−−−−−−−−

Private WithEvents girl As Person
Private Sub girl_msg(n As String, a As String)
Print n
End Sub
Private Sub Form_click()
girl.Show
End Sub
Private Sub Form_Load()
Set girl = New Person
End Sub

−−−−−−−−−−−−−−−−−−−−−−−−−−−

フォームモジュール( Form2 )

−−−−−−−−−−−−−−−−−−−−−−−−−−−

Public Event msg(n As String, a As String)
Private Sub Command1_Click()
RaiseEvent msg(Text1.Text, Text2.Text)
Text1.Text = ""
Text2.Text = ""
End Sub

−−−−−−−−−−−−−−−−−−−−−−−−−−−

この本では、Form1 と Form2 が同時に現れるようになっていますが、
実行すると、Form1 しか現れず、「プロジェクトのプロパティ」の、
「スタートアップの設定」を「 Person ( Form2 のオブジェクト名)」
に書き換えてやると、今度は Form2 しか現れません。
クラスモジュールを作成しないといけないのでしょうか。

何かおわかりになることがあればお教えいただければ幸いです。
どうかよろしくお願いいたします。

No.3012 RE:テキストの編集  投稿者:しゅーた [01/10/29(月)21:57分]

ありがと 花ちゃんなんとかできそうです。

かしこくなりました。どんどんかしこくなりまーす。

No.3011 Re:RE:フォルダーの削除    投稿者:K!? [01/10/29(月)19:01分]

花ちゃんさん、MIZOさんありがとうございました。

SHFileOperation を使ってみたのですが、SHFILEOPSTRUCT構造体の lpszProgressTitleメンバーに何か文字列を格納して実行すると、
「"0x77e9ffd0"の命令が"0xe1740000"のメモリを参照しました。 メモリが"read"になることはできませんでした」
といわれ、OKを押すとVB自体が終了してしまいました。 どういうことなのか解りません。この場合どうすればよいのでしょうか? ちなみに、FOF_SIMPLEPROGRESSは指定しています。
よろしければ、アドバイスをお願いします。

No.3010 マクロが実行しません。  投稿者:DJヒッキー [01/10/29(月)16:00分]

 VBからExcelを起動させて、Excelのマクロを実行させたいのですが、
マクロの警告メッセージを表示させないようにしたいです。
ここのExcel & Word関係の以下を参考にしてやってみたんですが、
どうもマクロ(Auto_Open)が動いてないようです。
マクロの警告を表示させず、かつ、マクロを実行させるにはどうしたら良いのか、
教えてください。


Excel & Word関係のエクセル!ワンポイントテクニック集より

    2.マクロの警告が表示しない
    Set myXlsAPP = CreateObject("Excel.Application")
    Set myXlsBook = myXlsAPP.Workbooks.Open("エクセルファイルのPATH")

No.3009 プレビュー機能について。  投稿者:TAKE [01/10/29(月)15:31分]

こんにちは。

VBで集計した物を印刷発行してるのですが、発行する前にプレビュー機能を付けたいのですが、 どのような方法がありますか?教えて頂きたいのですが。宜しくお願いします。

No.3008 データベース操作について  投稿者:VB勉強会 [01/10/29(月)10:57分]

VB5 ACCESS97 DAO

はじめまして、社内でVB勉強会を行っています。
現在作成中の物でどうしてもわからない事があります。

TABLE1
社員名 21日 22日 23日 24日...
土井 誠一 3 3 1 1
中山 武法 1 1 1 1
長井 照正 2 2 2 2
園城 和雄 3 3 3 3
古田 直一 0 0 0 0
江口 洋介 3 3 3 3

TABLE2
直帯CODE 始業時間 終業時間 所定勤務時間 深夜時間
0 0000 0000 0000 0000
1 0900 1800 0800 0000
2 1300 2200 0800 0000
3 2200 0900 0900 0600

という2つのTABLEがあり、TABLE1の21日の値とTABLE2直帯CODEの
値が一致すれば21日の後ろにTABLE2の始業時間〜所定勤務時間まで
の3フィールドを追加、さらに同じように22日以降についても同じ
ように直帯CODEとマッチングをかけ追加する。

処理後のテーブル
社員名 始業時間 終業時間 所定勤務時間 始業時間 終業時間 所定勤務時間...
土井 誠一 2200 0900 0900 2200 0900 0900...
中山 武法 0900 1800 0800 0900 1800 0800...
長井 照正 1300 2200 0800 1300 2200 0800...
園城 和雄 2200 0900 0900 2200 0900 0900...
古田 直一 0000 0000 0000 0000 0000 0000...
江口 洋介 2200 0900 0900 2200 0900 0900...

こんな感じで物理的に"DB上にテーブルを作成し、そのテーブルに取得したデータを
格納したいのですが、分かる方いらっしゃいましたら教えてください。
お願いします。

No.3007 DataReportで累計出力  投稿者:KOJI [01/10/28(日)15:34分]

はじめて投稿しますKOJIと申します。


VB6にてDataReportを使用して帳票印刷を行っているのですが、
レコード毎に計算して出力できるような機能はないのでしょうか?
(例えばレコード毎に発生するイベント等にて)
今、困っているのは
グループ 券種 枚数 金額
1 A 3 300
B 2 200

小計 5 500
累計 5 500
(改ページ)
グループ 券種 枚数 金額
2 A 4 400
C 5 500

小計 9 900
累計 14 1400

グループ毎に小計をだすのはできるのですが、
グループ毎に小計の累計を出力するのがどうしても
出来ません。
ご存知の方がいらっしゃいましたら宜しくお願いします

No.3006 RE:テキストの編集  投稿者:花ちゃん [01/10/28(日)11:12分]

>マクロではできたのですが、VB上ではうまくいきません。

何のマクロでできたのでしょうか? Excel等を使って検索置換えがやりたいのでしょうか?
Excelを使った方法はここのHPのExcel・Word関係のところにありますし
ここのHPの文字列処理関係のところに[検索・置換えをする(ダイアログボックスもどきを作成)]が
あります。参考にして下さい。

No.3005 RE:空文字列について  投稿者:NAO★ [01/10/28(日)9:20分]

>この場合構文エラーで ifnot straaa = "" then の部分が赤くなったのだと思います

>正しくは if not straaa = "" then のように半角スペースを空けて下さい。

なるほど。赤くなると言うのはそういうことか。
でもこの場合だと実行する前に赤くなると思うので、掲示板に書いたときのミスではないかと。
実行時にエラーになるとしたら End If が無いのも気になりますね。
これも単に掲示板に書くときに、省略しただけかもしれませんが。

エラーメッセージも書いといてくれると良かったですね。

No.3004 テキストの編集  投稿者:しゅーた [01/10/27(土)21:30分]

初心者です。わからないことがあります。教えてください。

テキスト文章の置換についてです。
マクロではできたのですが、VB上ではうまくいきません。
やりたいことは、繰り返されるSTEPに番号をつけたいのですが、 プログラムを作成する手順がわかりません。
テキスト開く→全行をインプットする→ある文章を置換する
この手順でいいのですか?あと検索した行毎に(マクロみたいに)編集はできますか?


No.3003 RE:空文字列について  投稿者:匿名 [01/10/27(土)15:07分]

>ifnot straaa = "" then

>straaa = ""
>こんな感じの処理でいいのかと思いきや、真っ赤になりました。誰か教えていただけないでしょうか。

この場合構文エラーで ifnot straaa = "" then の部分が赤くなったのだと思います
正しくは if not straaa = "" then のように半角スペースを空けて下さい。


 

No.3002 RE:フォルダーの削除  投稿者:花ちゃん [01/10/27(土)14:52分]

ファイル操作関係に ファイル・フォルダーをごみ箱へ(SHFileOperation API関数を使用)を

UPしました。
参考にして下さい。

No.3001 Re:VB.NET 他  投稿者:ゆう(U) [01/10/27(土)14:17分]

> おぉ。お金持ち〜(^^;

なら良かったのですが・・・
○と○と○をしばらく断って何とか捻出します。

> VBは簡単だったことがちょっと面倒になって、面倒だったことが
> 簡単になった印象を受けます。(いじっていると言っても、まだこの程度です)
やっぱり自分で触らないと・・・という事ですね
届くまで期待して待つ事にします。


●RE:空文字列について
> 真っ赤になるって恥ずかしくて?怒りで?それとも画面が?
顔が真っ赤を想像しましたが・・・
構文エラーの文字が真っ赤と言うことでしょう

●RE:VBで再起動プログラム
PCの再起動だと思ってました・・・
> ' 自分自身をもうひとつ起動
> Shell MyPath, vbNormalFocus
> End
引数「Command 関数」も渡してしまうとか・・・

こんな場合も「End ステートメント」は使いたくないです
終了用のプロシージャ等で全てのフォームのUnload、
時間がかかるなら先にHideして・・・ですね。
※Endは手っ取り早いとは思うんですけどね

前のログ 次のログ


VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0