Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 364
  • Last Modified:

Javascript + HTML + Access database. Is it possible to coexist without a web server?

Helllo experts,

I would like to know if it is possible to retrieve/update a MS Access database by using Javascript, HTML only without having to have a web server. I have a snippet of code and would like to know if it is correct. thanks!
<html>     
<head>         
<title>Populate Dropdown Using JScript</title>         
<script language="text/Jscript">         

function loadData()       
{       
      var appPath;
      var cn;
      var rs;
      var sql;
      var conn;

      try {
            rs = new ActiveXObject("ADODB.Recordset");
      }
      catch (e) {
            alert("ADODB namespace not found.");
            exit(0);
      }

      appPath = "c:\QTPDb.accdb"

      conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + appPath + ";Persist Security Info=False"; 

      var sql = "select ColA from TableA";             
      rs.Open(sql, cn);       

      rs.open(sql, conn,0, 1, 1);
      
      rs.movefirst();
      while (rs.eof != true) {
            var optn = document.createElement("OPTION");
            optn.text = rs("ColA");
            optn.value = value;
            document.mylist.options.add(optn);
      }      


      rs.Close();                   
}         



</script>     


</head>

<body onload=loadData()>        

<SELECT name="mylist">
</SELECT>

</body>  
</html>

Open in new window

0
DoofuS
Asked:
DoofuS
  • 5
  • 5
1 Solution
 
carsRSTCommented:
I'm not in a position to test your code, but looks reasonable.  The only things I see you'll probably have to change is the connection string for Access 2007 (see below) and add a connection activeX (see below).

Access 2007 Connection string:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;

Connection Code:
var conn = new ActiveXObject("ADODB.Connection")
0
 
DoofuSAuthor Commented:
Thanks. I will make that change and run it...my earlier run with the original code resulted in an error.
0
 
DoofuSAuthor Commented:
I have modified a bit per your suggestion, I still can't get this working. I have this named as Test.html and it is stored in the same directory as the access db. Any ideas?
<html>     
<head>         
<title>Populate Dropdown Using JScript</title>         
<script type="text/javascript">        

function loadData()       
{       
      var appPath;
      var conn;
      var conn_str;
      var rs;
      var sql;  

      conn_str= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\QTPDb.accdb;Persist Security Info=False;"; 	
      conn = new ActiveXObject("ADODB.Connection");
      alert("Before Connexn Setup");  
      conn.open(conn_str)
      alert("After Connexn Setup"); 
      rs = new ActiveXObject("ADODB.Recordset");
      
      sql = "select CauseOfLoss1 from IMContEquip1";             
      rs.Open(sql, conn );        
      
      rs.movefirst(); 
      while (rs.eof != true) {
            var optn = document.createElement("OPTION");
            optn.text = rs(0);
            optn.value = value;
            document.mylist.options.add(optn);
      }      

      rs.Close();                   
}         



</script>     
</head>

<body>  
<form name="frm" method="post">
     <table>
	<TR>
           <TD><INPUT name="btnSubmit" TYPE="Submit" VALUE="Submit"  onclick = "return loadData()"></TD> 
        </TR>
                
     </table>
</form>
	

<SELECT name="mylist">
</SELECT>

</body>  
</html>

Open in new window

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
carsRSTCommented:
Got a chance to test it out.  Here's a basic script i know works.  All you need to do is change up to your data and output.
<html>

<head>

<title>Populate Dropdown Using JScript</title>

<script>

function loadData()

{
      var cn;

      var rs;


      var sql;

      var conn;

       var sql;

	rs = new ActiveXObject("ADODB.Recordset");



	conn = new ActiveXObject("ADODB.Connection");


	val = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "C:/finance/../myDB.mdb" + ";Persist Security Info=False";

	conn.open (val);

	rs.open ("select ID from tbl_log", conn);


	do {

		    alert(rs("ID"));

		    rs.movenext;

	} while(!rs.eof);

}



</script>

</head>

 
<body>


<INPUT TYPE="BUTTON" OnClick="loadData();" VALUE="Go!!!">

</body>

</html>

Open in new window

0
 
carsRSTCommented:
Just to test...

Change this line to your SQL:
rs.open ("select ID from tbl_log", conn);

And this line to new Access connection string and database path::
val = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "C:/finance/../myDB.mdb" + ";Persist Security Info=False";
0
 
DoofuSAuthor Commented:
I have a Ms access 2007 database. Would that affect anything in the connection string?
0
 
carsRSTCommented:
Yes, sorry.  I was only able to test in 2003.  Just change the connection string (like you did before).  It's different for 2007.

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;
0
 
carsRSTCommented:
Here's what it should look like:

conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + appPath  + ";Persist Security Info=False;";
0
 
DoofuSAuthor Commented:
Cool...I have changed the connection string to this:

conn_str= "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\QTPDb.accdb;Persist Security Info=False;";       
   
Thanks a million :)!!!
0
 
DoofuSAuthor Commented:
Awesome solution!
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now