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

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

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

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

A 回答 (2件)

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



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
    • good
    • 0
この回答へのお礼

どうもAccessにはVB側からのSET ~ を使用しての
プリンタ指定は出来ないようです。
(ACCESSのレポートで指定したプリンタが正となる?)
なのでAPIを使用してプリンタの指定を行いました。
回答ありがとうございました。

お礼日時:2001/10/17 20:52

変数[Printer]は型[Printer]で宣言なさってますか?



Printersコレクションあたりがキーワードのように思います。
    • good
    • 0
この回答へのお礼

どうもAccessにはVB側からのSET ~ を使用しての
プリンタ指定は出来ないようです。
(ACCESSのレポートで指定したプリンタが正となる?)
なのでAPIを使用してプリンタの指定を行いました。
回答ありがとうございました。

お礼日時:2001/10/17 20:54

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

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

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

QプリンタにIPアドレスは?

 J検2級の問題(過去問題です=13/12/9・・・コンシス・・・5問目)ですが、ネットワークプリンタがありますそれにはプリンタサーバーがあります

プリンタサーバーにはIPアドレスをあげています

プリンタにはIPアドレスは必要がないということは確かめたのですが、なぜいらないのですか?

プリンターサーバーから印刷の命令を出すときプリンターのIPアドレスがないと困るのでは????

Aベストアンサー

プリンタとプリンタサーバとの接続は、通常ローカル接続(直接接続)になっているため、IPアドレスは必要ありません。ローカル接続で多いのはパラレルポートです。

一口にプリンタサーバと言っても、PCで代用する場合もあるし、タバコの箱大の大きさのサーバーもあります。プリンタの拡張ポートに入れるボードタイプもあります。ですから、「プリンタのIPアドレスは・・・」という言葉があっても、内部的には、「プリンタに直接接続されたプリンタサーバのIPアドレスは・・・」と置き換えて考えると分かりやすいと思います。

プリンタはあくまでも、印刷データを印刷するのみです。プリンタサーバは、プリンタを共有するための機能と、スプーラ機能を持っており、IPアドレスはこのプリンタサーバに持っていれば、用は足りるのです。

Qアクティブレポートを使ってDBのデータを帳票出力させています。

お世話になります。
現在、VB.NET2008上でアクティブレポートを使って帳票作成をしています。
仕事の都合上、アクティブレポートやSQLはぶっつけ本番状態で学んでいるのでかなりの初心者なのですが、ネット上で探しても探し方が悪かったのか、同じような記事を見つけられなかったので、質問させていただきます。

やりたい事は、コードだけが入っているテーブルと、そのコードとコードに対する名前が入っているテーブルを関連付けて、帳票に名前を載せるということなのですが、今、困っているのは、同じテーブルから、区分が違うデータを取りだすという事です。
説明がうまく出来ませんが・・・

テーブル1
----------------------
|区分|コード|名前 |
----------------------
|01 |001  |A会社|
|01 |002  |B会社|
|01 |003  |C会社|
|02 |01  |商品A|
|02 |02  |商品B|
|02 |03  |商品C|
----------------------

ここから、「B会社」の「商品C」を帳票に出そうとしています。
今までは1つのテーブルから1つの情報だけ取り出していたので
SELECT * FROM テーブル1 WHERE 区分='01' AND コード='指定のコード'
と言ったような書き方でやっていて、アクティブレポートのデータフィールド部分には「名前」と列名を設定させてきました。
今回このような場合、どういう風にSQLを書けばいいのか、アクティブレポートでどう設定すればいいのかまったく分からないので、ご指導をお願いしたいと思っています。

お世話になります。
現在、VB.NET2008上でアクティブレポートを使って帳票作成をしています。
仕事の都合上、アクティブレポートやSQLはぶっつけ本番状態で学んでいるのでかなりの初心者なのですが、ネット上で探しても探し方が悪かったのか、同じような記事を見つけられなかったので、質問させていただきます。

やりたい事は、コードだけが入っているテーブルと、そのコードとコードに対する名前が入っているテーブルを関連付けて、帳票に名前を載せるということなのですが、今、困っているのは、同じテーブ...続きを読む

Aベストアンサー

こんにちは

いまひとつ内容が理解できません

コードだけが入っているテーブル
(本当にコードだけのテーブルなんですか意味が?)

そのコードとコードに対する名前が入っているテーブル
(これがテーブル1と同じなんでしょうか'区分'もありますね)

テーブル1の商品CはなんでB会社のと判るんですか?

焦っておられるようですが
もう少し話を整理していただけると
もしかすると自己解決してしまうかもしれませんよ

QWi-Fiでプリンタ接続の際のIPアドレス

仕事場でプリンタを購入しました。ワイヤレスで使用できる製品です。

現在、仕事場は3台のPCを使用しておりますが、IPアドレスはすべて「自動割り振り」になっています。
プリンタをWi-Fi接続で使用する際に、ソフトのプリンタ設定の画面でIPアドレスを指定するようになっており、そのまま設定をしますと、次回起動した際にIPアドレスが変わってしまい使えません。

質問ですが、、
プリンターを無線LANで使用する場合、IPアドレスは固定に設定するものなのでしょうか?
PC側もすべてIPアドレスを固定にする必要がありますか?

もし、プリンターだけIPアドレスを固定にした場合、PCの電源をプリンタよりも先に入れてしまった場合にアドレスが競合することはないのでしょうか?

Aベストアンサー

ネットワークの管理上、サーバーやプリンター等の共有設備は固定IPにしておくほうが望ましいです。
今、端末のPCが3台でIPアドレスが「自動割り振り」になているとのこと。ということは、どこかにDHCPサーバーがあります。恐らくルーターがその機能を提供しているのでしょう。

ネットワーク構成上、

ルーター(無線・有線)は固定:仮に192.168.1.1
プリンターを固定:192.168.1.10
PC3台はDHCPサービスで自動割り振り
※DHCPサービス(ルーター)の設定で、DHCPに使う範囲を指定します。(192.168.1.20~29)など

こうすることで、どれから電源を入れようが重複するようなことはありません。(ルーターは常時起動させておく)
ルーターやサーバーなどは下1桁が1~9
プリンターやスキャナーなどは10番台
端末(パソコン)は20番台
というように振り分けておけば、管理上、分かりやすくなりますのでお薦めです。

コツは、DHCPで利用(振り分ける)範囲を指定しておく。共有設備は固定IPで。機能別にIPアドレスをグループ化しておく(管理上)
というようなことでどうでしょうか。

ご参考まで。

ネットワークの管理上、サーバーやプリンター等の共有設備は固定IPにしておくほうが望ましいです。
今、端末のPCが3台でIPアドレスが「自動割り振り」になているとのこと。ということは、どこかにDHCPサーバーがあります。恐らくルーターがその機能を提供しているのでしょう。

ネットワーク構成上、

ルーター(無線・有線)は固定:仮に192.168.1.1
プリンターを固定:192.168.1.10
PC3台はDHCPサービスで自動割り振り
※DHCPサービス(ルーター)の設定で、DHCPに使う範囲を指定します...続きを読む

Q帳票ツールを使わずに帳票出力が出来ますか?

VB6を使って開発しています。
帳票ツールを使わずに帳票出力が出来ないものかと考えております。
まぁそれが出来ればツールなんて必要ないじゃないかとも思うのですが(^^;
よろしくお願いします。

Aベストアンサー

回答ではないのですが、経験です。
みなさん同じような悩みを持ってたりするものですね。
私も先日までコーディングのみで帳票にデータを出力するルーチンを作成していましたが、本当に大変です。
VBでの単位がTwipで物理的な紙はやはりmmやcmの単位ですから大変です。
1Twip=1mm ならまったく問題はないのですが、そうではないので気が狂いそうになってコーディングしていました。
とにかく、出力する帳票がかなり無駄になります。(テスト出力の度に・・)
でも、コツを覚えると簡単ですので、一度気が狂いそうになるまでコーディングしてみるのはいかがですか?

printer.currentx=1000
printer.currenty=1000
printer.print "気が狂いそう"

上のコードだけでシステムにデフォルトで設定されているプリンターに出力されます。
なんて単純なコードでしょう・・・
コードが単純なだけにx,yの設定が大変でした。

Qネットワーク内のプリンタ等のIPアドレスを調べる方法

こんにちは。

既存のネットワークにコンピュータを一台追加したのですが、そのネットワークの中にあるプリンタのIPアドレスが分かりません。
IPアドレスが分かっていれば、コマンドプロンプトのPINGコマンドでパケットが届くか確認できますが、IPアドレスが不明なプリンタや複合機のIPアドレスはどうやって調べればいいんでしょうか?
一旦初期化して出荷時のIPアドレスに戻した後再設定という方法は取らずに、コマンドプロンプトで調べられる方法があれば教えてください。
よろしくお願いします。

Aベストアンサー

はじめまして
プリンタのIPアドレスを調べる場合PC側からの検索は困難です。
大抵のネットワーク対応プリンタであれば、ステータスシートをプリンタの
パネルを操作することで出力できます。
シートの中にIPアドレスが記載されているのでそちらを参照されてはいかがでしょう?

QVB6のPrinter.ScaleWidth に対応するvb.netの

VB6のPrinter.ScaleWidth に対応するvb.netの命令はありますか。

VB.netでプリンタにグラフ印刷させようとしているのですが、VB6の場合Printer.ScaleWidth、Printer.ScaleHeightでA4サイズにスケーリングできたのですがVB.netではScaleWidth,ScaleHeightに変わるものを見つけることができません。

たとえばA4サイズにスケーリングする場合自分で座標の最大値を取り出しスケールを計算し座標に掛けてやるしかないのでしょうか。

環境Windows XP
VisualBasic 2010 Express

Aベストアンサー

グラフのイメージがファイルやBitmapオブジェクトとして取得できて
これを拡大(縮小)する方向でしょうか?

それなら
Graphics.DrawImage( Img, Rectangle )でスケーリングしてしまえばいいのではないかと思います

PrintPageイベントなどの 引数からe.PageSettings.PrintableAreaなどから印刷領域を取得して
Rectangleを決定してみてはいかがでしょう
縦横(アスペクト)比を考慮するなら 計算はしないといけないでしょうね …
縦基準なのか 横基準なのかの判定やそれに伴う他方の倍率の決定など

QプリンタのIPアドレスについて

2台のパソコンとプリンタをルーターを介してLANで繋いでいます。
プリンタを再起動するごとにプリンタのIPアドレスが
192.168.0.11~192.168.0.13の範囲で動いてしまい、
コントロールパネル→ポートの構成からIPアドレスを毎回変更しています。

これを固定のIPアドレスにすることは可能でしょうか?
また、設定方法を教えていただければと思います。

メインで使っているパソコンがVISTA
もう1台のパソコンがXPです。

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

Aベストアンサー

>毎回変更

固定アドレスでOKのはず。
http://faq.ricoh.jp/faq/1032/app/servlet/qadoc?003089

QVBからACCESSのレポート出力

すみません。どうしてもわからないので、質問させて頂きます。

VB6.0 + ACCESS2000 で開発をしています。
インターフェイスはVB,DBはACCESSなのですが、帳票の出力も、
ACCESSで行いたいと思っております。
この時、クライアントにACCEESSが入っていない事も想定して、
ACCESSランタイムも用意しました。
デバッグマシン(OFFICEは入っていません)にランタイム(VB,ACCESS)を
インストールして、実行ファイルを実行すると、印刷の部分で、「エラー429 Activeコンポーネントはオブジェクトを作成できません」とのエラーが出て、印刷ができません。
印刷以外は問題なく動いています。
開発マシンは、Win2000、デバッグマシンはWinXPで、ACCESSランタイムはOFFICE XP Developerで作成しました。
下記にソースコードも記載させて頂きます。
もちろん、開発ではきちんと動作しています。

Dim oleAccess As Access.Application

Set oleAccess = GetObject(App.Path & "\data\data.mdb")
Call oleAccess.DoCmd.OpenReport(ReportName, acPreview)

oleAccess.DoCmd.Maximize
oleAccess.Visible = True

当初は、「oleAccess.OpenCurrentDatabase」でDBを開いていたのですが、
ACCESSランタイム環境では、GetObjectの方が良いということを聞いたので、
上記の様になっています。
エラーが起きている行は、どうやら「GetObject」の行のようです(oleAccess.OpenCurrentDatabaseの場合でもエラー)。

ACCESSランタイムを使う事が初めてなので、手探りでやっているため、
的外れな所もあるかと思います。
何かアドバイスを頂ければ幸いでございます。
よろしくお願い致します。

すみません。どうしてもわからないので、質問させて頂きます。

VB6.0 + ACCESS2000 で開発をしています。
インターフェイスはVB,DBはACCESSなのですが、帳票の出力も、
ACCESSで行いたいと思っております。
この時、クライアントにACCEESSが入っていない事も想定して、
ACCESSランタイムも用意しました。
デバッグマシン(OFFICEは入っていません)にランタイム(VB,ACCESS)を
インストールして、実行ファイルを実行すると、印刷の部分で、「エラー429 Activeコンポーネントはオブジェクトを作成できま...続きを読む

Aベストアンサー

下記は参考になるでしょうか?

参考URL:http://support.microsoft.com/default.aspx?scid=kb;ja;238610

QLANプリンタの固定IPアドレス or DHCP

パソコン:Windows XP HE SP3x5台、Windows Vista Home Premiumx1台
プリンタ:CANON 複合機 MP630、RICHO モノクロレーザ NX70
プリントサーバ:BUFFALO LPV3-U2S、LPV3-TX1

社会福祉協議会の1室をお借りして、月に2回高齢者向けのパソコン無料相談コーナーを開催しています。
社協のシステム構成は良くわからないので、パソコンやプリントサーバのIPアドレスはDHCPを利用した
自動設定にして使用していますが、現在のところ問題なく使用できております。

ところが知人からプリンタのIPアドレスはDHCPによる自動設定はIPアドレスが変わることもあり、手動設定に
しておく方がいいとアドバイスを受けました。

そこで質問です。
【質問1】どういうときにIPアドレスが変更になるのですか?
【質問2】IPアドレスが変更になってもDHCPによる自動設定になっていればパソコン側で変更する必要がないのでは?

Aベストアンサー

> 【質問1】どういうときにIPアドレスが変更になるのですか?

PCやプリントサーバの電源をOFF/ONにした際に変更になる場合があります
ルータだけの電源を落とした場合は、PCやプリントサーバは今まで使っていたIPアドレスをそのまま使うための延長動作をするので、(リース期間に対して)長時間落とさない限り基本的には変わりません
http://www.7key.jp/nw/tcpip/ip/dhcp.html

> 【質問2】IPアドレスが変更になってもDHCPによる自動設定になっていればパソコン側で変更する必要がないのでは?

No.3のかたが書かれている通り、ネットワークプリンタのポートの部分にIPアドレスが入っているので、プリントサーバのIPアドレスが変わるたびにここを修正する必要が出てきます
(DHCPは自分自身のIPアドレスを自動設定してくれますが、他の機器が変わったことまで面倒見てくれません)

普通はDHCPサーバでIPアドレスの払い出しの範囲を設定できると思いますので、その範囲を少し狭めて、プリントサーバにはその範囲を外したIPアドレスを手動設定すべきです
最悪範囲の設定ができなければ割り振られる後ろのほうのIPアドレスを固定で割り当てればいいかと思いますが、192.168.0.255はブロードキャストアドレスと呼ばれ特別な意味を持つIPアドレスなので絶対に振ってはいけません

> 【質問1】どういうときにIPアドレスが変更になるのですか?

PCやプリントサーバの電源をOFF/ONにした際に変更になる場合があります
ルータだけの電源を落とした場合は、PCやプリントサーバは今まで使っていたIPアドレスをそのまま使うための延長動作をするので、(リース期間に対して)長時間落とさない限り基本的には変わりません
http://www.7key.jp/nw/tcpip/ip/dhcp.html

> 【質問2】IPアドレスが変更になってもDHCPによる自動設定になっていればパソコン側で変更する必要がないのでは?

No.3の...続きを読む

QVBからACCESSのレポートへの出力に関して

環境:Visual Basic2008 Express Ediotion,ACCESS2000

教えて下さい。

Visual Basic2008で開発を行っていますが、帳票の部分だけをACCESS2000の
レポート機能を使って出力したいと考えています。

単純にACCESSのレポートを起動させる方法は、幾つかのホームページに記載が
ありましたが、Visual Basicの方で作成された"データ"を用いて、ACCESS側のレポート
に出力するような事をしたい為、調べた結果では手段が見つかりませんでした。

あるホームページに、データセット等を活用すれば出力できるような記載もありましたが、
細かな情報がなく、どのように記述したら良いかが記載されていなかった為、この
方法だけでなくどのようにしたら良いかの参考になるようなホームページ、あるいは
ソースの記述を教えて頂きたいと思います。

よろしくお願いします。

Aベストアンサー

Visual Basicの方で作成された"データ"を ACCESS のテーブルに更新して
そのテーブルと連携させたACCESSのレポートを起動させるだけでは?
SANA_999 さんの調査内容を組み合わせればできる話だと思いますが。

> あるホームページに、データセット等を活用すれば出力できるような
> 記載もありましたが、細かな情報がなく、
データセットの活用方法といった時点で限られていると思います。細かな情報
など要らないか、書いてあるけど読めていないだけでは?ACCESS の処理は
ACCESS 自身に任せる事になると思うので、上に書いた通りデータ更新する
だけの話だと思います。
まぁ、特殊なテクニックが書いてあったのかもしれませんが、リンクも
貼ってないし、説明もできないのではこちらではどうしようもないですが


人気Q&Aランキング

おすすめ情報