VB2008 CD データベース への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 neptune  (社会人)
投稿日時
2009/8/6 21:02:49
>VBを起動しているパスを取得して、
に関しては先にサンプル書いてますよね。
>どうすれば、変数が使えるようになるんでしょうか?
もももさんの代わりにコードを書くならともかく、・・書く気はないです。
今、何がどう悪いのかは、どうやって書いていて、どんなエラーが出るのかわからないのに
考えようもないです。
文字列変数の扱い方を勉強して下さい。知らないと文字列処理は「何にも」できませんよ。
↓手掛かり。
"文字列" & 変数 & "文字列2"
に関しては先にサンプル書いてますよね。
>どうすれば、変数が使えるようになるんでしょうか?
もももさんの代わりにコードを書くならともかく、・・書く気はないです。
今、何がどう悪いのかは、どうやって書いていて、どんなエラーが出るのかわからないのに
考えようもないです。
文字列変数の扱い方を勉強して下さい。知らないと文字列処理は「何にも」できませんよ。
↓手掛かり。
"文字列" & 変数 & "文字列2"
投稿者 ももも  (学生)
投稿日時
2009/8/6 19:08:53
データベースを使うためのコードで
Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Database\data.mdb")
Dim SQLCm As OleDbCommand = Cn.CreateCommand
Dim y As String
Dim x As String
x = ComboBox1.Text
y = ComboBox2.Text
SQLCm.CommandText = "SELECT 名前 FROM 名簿 WHERE クラス = '" & x & "' and 番号 = " & y & ""
Cn.Open()
TextBox1.Text = SQLCm.ExecuteScalar
Cn.Close()
と、なっているんですが
VBを起動しているパスを取得して、そのパスを
・・・\Database\data.mdb" この「・・・」の場所に使いたいのですが
変数を使ってやろうと思ってもエラーがでてしまうのですが
どうすれば、変数が使えるようになるんでしょうか?
Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Database\data.mdb")
Dim SQLCm As OleDbCommand = Cn.CreateCommand
Dim y As String
Dim x As String
x = ComboBox1.Text
y = ComboBox2.Text
SQLCm.CommandText = "SELECT 名前 FROM 名簿 WHERE クラス = '" & x & "' and 番号 = " & y & ""
Cn.Open()
TextBox1.Text = SQLCm.ExecuteScalar
Cn.Close()
と、なっているんですが
VBを起動しているパスを取得して、そのパスを
・・・\Database\data.mdb" この「・・・」の場所に使いたいのですが
変数を使ってやろうと思ってもエラーがでてしまうのですが
どうすれば、変数が使えるようになるんでしょうか?
投稿者 neptune  (社会人)
投稿日時
2009/8/6 07:19:35
>GetExecutingAssemblyは
>現在のコードを実行しているアセンブリを取得
>と、ありますが
>これを使えばパスがわかるということでしょうか?
これは るしぇ さんのおっしゃる通りで、そちらを参考に願います。
自アプリのパス取得はもっと簡単なのがあるようです。
>ldbファイルが作られています
>これで、CD上で運用できるかはまだわかりませんが・・・
ですが、作られるならCD上での運用は無理と思います。CD上に一時ファイルは作成できませんから。
但し読み取り専用で使うならならいけるかも?・・・検証してみて下さい。
参考
Access 2000 の .ldb ファイルについて
http://support.microsoft.com/kb/208778/ja
古い文献ですが、mdbファイルなら恐らく変わってないと思います。
>現在のコードを実行しているアセンブリを取得
>と、ありますが
>これを使えばパスがわかるということでしょうか?
これは るしぇ さんのおっしゃる通りで、そちらを参考に願います。
自アプリのパス取得はもっと簡単なのがあるようです。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Console.WriteLine(Application.ProductName())
Dim sPath As String = Application.ExecutablePath()
Console.WriteLine(sPath)
Dim sDir As String = System.IO.Path.GetDirectoryName(sPath)
Console.WriteLine(sDir)
End Sub
>ldbファイルが作られています
>これで、CD上で運用できるかはまだわかりませんが・・・
ですが、作られるならCD上での運用は無理と思います。CD上に一時ファイルは作成できませんから。
但し読み取り専用で使うならならいけるかも?・・・検証してみて下さい。
参考
Access 2000 の .ldb ファイルについて
http://support.microsoft.com/kb/208778/ja
古い文献ですが、mdbファイルなら恐らく変わってないと思います。
投稿者 るしぇ  (社会人)
投稿日時
2009/8/6 03:42:18
> これを使えばパスがわかるということでしょうか?
「GetExecutingAssembly パス」でぐぐっただけで
使えそうな情報がごろごろ引っ掛かるみたいだけど?
「GetExecutingAssembly パス」でぐぐっただけで
使えそうな情報がごろごろ引っ掛かるみたいだけど?
投稿者 ももも  (学生)
投稿日時
2009/8/6 03:01:46
mdbではneptuneさんがいわれたとおり
ldbファイルが作られています
これで、CD上で運用できるかはまだわかりませんが・・・
GetExecutingAssemblyは
現在のコードを実行しているアセンブリを取得
と、ありますが
これを使えばパスがわかるということでしょうか?
ldbファイルが作られています
これで、CD上で運用できるかはまだわかりませんが・・・
GetExecutingAssemblyは
現在のコードを実行しているアセンブリを取得
と、ありますが
これを使えばパスがわかるということでしょうか?
投稿者 neptune  (社会人)
投稿日時
2009/8/6 02:32:43
こんにちは
vb2008で確認したことはないのですが、
mdbファイルを使用すると、拡張子ldbの一時ファイルが作られませんか?
ちょっと昔の話ではありますが、ADO(netなしの奴)やDAOでmdbファイルに接続すると
作られます。
なので、もしado.netでも作られるとすると、CD上での運用はできるんですかね?
という疑問がわいてきます。
>そのデータベースのファイル先のパスを取得しないといけないのですが
の話ですが、アプリケーションを配置している同じディレクトリにでも置いておけば
そんなコマンドがあったと思います。
GetExecutingAssemblyで調べてみて下さい。
vb2008で確認したことはないのですが、
mdbファイルを使用すると、拡張子ldbの一時ファイルが作られませんか?
ちょっと昔の話ではありますが、ADO(netなしの奴)やDAOでmdbファイルに接続すると
作られます。
なので、もしado.netでも作られるとすると、CD上での運用はできるんですかね?
という疑問がわいてきます。
>そのデータベースのファイル先のパスを取得しないといけないのですが
の話ですが、アプリケーションを配置している同じディレクトリにでも置いておけば
そんなコマンドがあったと思います。
GetExecutingAssemblyで調べてみて下さい。
投稿者 ももも  (学生)
投稿日時
2009/8/6 02:10:17
こんにちは
VB初心者のものです
今、自分たちで作ったVBを
CDに焼いて使いたいのですが、データベースを使っていて
そのデータベースのファイル先のパスを取得しないといけないのですが
どんなコードを使えばいいのか調べたりしましたがわかりません
うまく説明できませんがお願いします
データベースはAccessを使っています
VB初心者のものです
今、自分たちで作ったVBを
CDに焼いて使いたいのですが、データベースを使っていて
そのデータベースのファイル先のパスを取得しないといけないのですが
どんなコードを使えばいいのか調べたりしましたがわかりません
うまく説明できませんがお願いします
データベースはAccessを使っています
なんとか、パスを取得して使うことができました。