Any sample to connect a remoted database through Excel?

E

Eric

Does anyone have any sample to connect a remoted database through Excel?
I need to make a connection with a database in China, and I locate in HK.
Could anyone give me any suggestions on what I need to retrieve any data from
a database?
What I can think of is
URL, username, password, ...
Does anyone have any suggestions?
Thanks in advance for any suggestions
Eric
 
F

FerGo

You can try through an ODBC connection, depending of what DB you try to
connect. After that you only need to configure the connection in the DATA -
CONNECTIONS tab in Office Excel 2007.

Regards.
 
J

Jim Thomlinson

Assuming you have the ODBC drivers and a stable connection to the database
server then you should be able to use MS Query which you access via Data ->
Import External Data -> new Database Query.

That will allow you to read from the database. If you need to write back
then you will need to use VBA code with ADODB Recordsets.
 
E

Eric

Thank everyone very much for any suggestions
Does anyone have any sample for download? therefore, I can see the approach.
I would like to do some coding.
Thank everyone very much for your quick response
Eric
 
T

Tim Williams

Not sure either ODBC or OLE work over http (since you mention a URL...)

Also - more details: what type of database, where hosted, VPN , etc ?

Tim
 
E

Eric

Thank everyone very much for suggestions
Do you mean that I cannot connect ODBC through http?
As I remember that IP address, web site, username, password are given in
order to make any connection.
Could you please give me more describtion?
Thank you very much for your suggestion
Eric
 
T

Tim Williams

You need to provide more details on *your exact requirements*.
General questions like this are difficult to address.

Tim
 
E

Eric

Thank everyone very much for suggestions

Once I connect a data base through following code,
Could you please give me one example on retrieving data?
I would like to retrieve the variable "name" and "phone" under the table
"member", and insert into column A for name and column B for phone.
Could you please give me any suggestions?
Thank you very much for your suggestions
Eric


Dim adoCon As Object
Dim rsCommon As Object

Sub Variable()
strSQLServerName = "IP_address"
strSQLDBUserName = "Your_SQL_UserName"
strSQLDBPassword = "Your_SQL_Password"
strSQLDBName = "YOur_SQL_DBName"

strCon = "Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName &
";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"

Call openDatabase(strCon)

End Sub

Sub openDatabase(strCon)

strCon = "Provider=SQLOLEDB;Connection Timeout=90;" & strCon
Set adoCon = CreateObject("ADODB.Connection")

On Error Resume Next
adoCon.connectionstring = strCon
adoCon.Open

If Err.Number <> 0 Then MsgBox Err.Description, vbCritical
On Error GoTo 0

'Your recordset, so look for the fields you want using this rs object
Set rsCommon = CreateObject("ADODB.Recordset")

'do your thing with the rs here
Set rsCommon = Nothing

End Sub

Sub closeDatabase()
If adoCon Is Not Nothing Then
adoCon.Close
Set adoCon = Nothing
End If
End Sub
 
T

Tim Williams

See below

Tim


Eric said:
Thank everyone very much for suggestions

Once I connect a data base through following code,
Could you please give me one example on retrieving data?
I would like to retrieve the variable "name" and "phone" under the table
"member", and insert into column A for name and column B for phone.
Could you please give me any suggestions?
Thank you very much for your suggestions
Eric


Dim adoCon As Object
Dim rsCommon As Object

Sub Variable()
strSQLServerName = "IP_address"
strSQLDBUserName = "Your_SQL_UserName"
strSQLDBPassword = "Your_SQL_Password"
strSQLDBName = "YOur_SQL_DBName"

strCon = "Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName &
";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"

Call openDatabase(strCon)

End Sub

Sub openDatabase(strCon)

strCon = "Provider=SQLOLEDB;Connection Timeout=90;" & strCon
Set adoCon = CreateObject("ADODB.Connection")

On Error Resume Next
adoCon.connectionstring = strCon
adoCon.Open

If Err.Number <> 0 Then MsgBox Err.Description, vbCritical
On Error GoTo 0

'Your recordset, so look for the fields you want using this rs object
Set rsCommon = CreateObject("ADODB.Recordset")

dim i, shtData
i=2
set shtData = this workbook.sheets("Members")
rsCommon.Open "select t.name, t.phone from member t", adoCon
if not rsCommon.EOF then
do while not rsCommon.EOF
shtData.cells(i,1).value=rsCommon.Fields("name").value
shtData.cells(i,2).value=rsCommon.Fields("phone").value
i=i+1
rsCommon.movenext
loop
end if
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top