私はこの新しいAccessデータベース(2000形式)を新しい.accdb 2007形式に変換します。私はアクセスに関する基本的なことを知っているので、それはちょっとした挑戦だったと思っていました。Microsoft Access 2010 - dbnameと拡張子の変更後に新しいconnectionStringを使用して再コンパイル
2つのファイルがあり、1つはすべてのテーブル「WOSS_Tables.mdb」(duh)を持つように見え、もう1つ(WOSS.mdb)はフォームとモジュールの束を持ち、多くのコードを持っていますデータベースツール/ Visual Basic。
私はAccess 2010で両方を開いて、「保存して公開する」、「保存する.accdb」を実行しました。
だから私はWOSS.mdbがログインフォームで開いたときにポップアップする最初の事が、私はそれにログインしようと言う:
Error message http://i43.tinypic.com/a73tz.png
をだから私はそれを得る、それはしていません新しいファイルを探します。 WOSS.mdbファイル(今WOSS.accdb)私はたconnectionStringという名前ルタ(スペイン語でのルート)の並べ替えを持っているモジュールを見つけるに掘り はので、私は今の私のデスクトップにそれを指して、それを変更:
Option Compare Database
Option Explicit
Public xdescripcion As String
'** Ruta para abrir la base de datos
'Public Const Ruta = "\\the_super_secret_old_route\"
Public Const Ruta = "C:\Users\AlexXPS\Desktop\Woss"
Public M
とフォームの束で見つかった、これらのような行:
Set dbs = DBEngine.Workspaces(0).OpenDatabase(Ruta + "WOSS_Tables.mdb", False, False, "")
Set dbs = OpenDatabase(Ruta + "WOSS_Tables.mdb", False, False, "")
は "WOSS_Tables.accdb" aswellを有するものを更新しました。
ここで、[保存]をクリックし、[デバッグ]メニューの[コンパイル]をクリックして、閉じてから再度開き、上記と同じエラーが表示されます。
フォームとモジュールコードをチェックすると、私はRutaがデスクトップを正しく指していて、他の変更も正しく保存されています。
私は間違っていますか?
PS:長い記事のために申し訳ありません:(
EDIT !!!!!!!
さて、コードをいじり私は何かを見つけた:
ログオン画面では、ユーザーテーブルのすべてのユーザー名を表示するはずのComboBoxが表示され、ComboBoxには「行ソース」データプロパティの簡単なクエリが表示されます
SELECT DISTINCTROW [Usuarios].[Name], [Usuarios].[Name] FROM Usuarios ORDER BY [Usuarios].[Name];
"Ruta"変数とは関係がありません。
ここで問題は、ソースdbの場所が変更されたことをどのようにComboBoxに伝えることができますか?
ComboBoxがデータベースを見つけられないため、以前のエラーメッセージが表示されました: )、他のコードではありません(どちらももちろん変更する必要があります)
私は自分自身を説明することを願っています、そうでなければ、スクリーンショットをheres!
Properties Window of ComboBox http://i44.tinypic.com/qn7e47.png
最初のdb(WOSS.accdb)にテーブルをリンクしていますか? – Steve
いいえ、テーブルはありません。 WOSS_Tables.accdbファイルにUsersテーブルがあり、すべてのユーザー/パスワード/その他の情報を持っています –