powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Последние цифири заменяет нулями
1 сообщений из 1, страница 1 из 1
Последние цифири заменяет нулями
    #39794090
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю из Excel как-то так
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
//var WshShell = new ActiveXObject( 'WScript.Shell' );
var  connection1 = new ActiveXObject("ADODB.Connection"),recordset1 = new ActiveXObject("ADODB.Recordset");
if(Ex_ex=="xls")
	{
		connection1.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" +pppath+"; Persist Security Info=False;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';");

	
	}
else {
	//!connection1.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+pppath+"; Persist Security Info=False;Extended Properties='Excel 12.0 Xml;HDR=NO;IMEX=1'");///////////////////myForm.Dbf_dbf.value);
	connection1.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+pppath+"; Persist Security Info=False;Extended Properties='Excel 12.0;HDR=NO;IMEX=1'");///////////////////myForm.Dbf_dbf.value);
	//TypeGuessRows везде в реестре поменять!!!
	};

var krolik;
        var rs = new ActiveXObject("ADODB.Recordset");
for ( i=1; i < 13; i++ )
    {
        var SQL = "select * from [Для договора с почтой$A"+(i-1)*500+2+":BG"+i*500+2+"]";//Для договора с почтой
	//!var SQL = "select * from [Для договора с почтой$A2:BG5000]";//Для договора с почтой
	rs.Open(SQL, connection1);
        if(rs.bof)
        {
            document.write('No Data Avaliable');
        } 
	




	var t1,t2,t3,t4,t5,t6,t7,t8,t9,t5_N_HOUSE,str_krolik,yearN2,monthN2,dayN2;
        if(!rs.bof)
        {
            rs.MoveFirst()
            while(!rs.eof) 
            {
                ///if ( rs.fields(13).value!= null ){t1=rs.fields(13).value;}else{t1="";}
		if ( rs.fields(10).value=== null ) {t1="";}else{t1=rs.fields(10).value;} 
		///if ( rs.fields(17).value!= null ) {t2=rs.fields(17).value;}else{t2="";}
		if ( rs.fields(13).value=== null ) {t2="";}else{t2=rs.fields(13).value;}
		///if ( rs.fields(9).value!= null ) {t3=rs.fields(9).value;t3=trim(t3);}else{t3="";}
		if ( rs.fields(7).value=== null ) {t3="";}else{t3=rs.fields(7).value;t3=trim(t3);}
		if ( rs.fields(11).value=== null ) {t7="0";}else{t7=rs.fields(11).value;}
		if ( rs.fields(9).value=== null ) {t8="0";}else{t8=rs.fields(9).value;}
		if ( rs.fields(12).value=== null ) {t9="0";}else{t9=rs.fields(12).value;}

		//t5_N_HOUSE_2
		
		str_krolik=new Date(rs.fields(2).value);
		dat_string=str_krolik.getFullYear()+ '/' +String(str_krolik.getMonth()+1).replace(/^(.)$/, "0$1") +'/'+String(str_krolik.getDate()).replace(/^(.)$/, "0$1");
		t4=rs.fields(4).value;
 		t4=t4.replace( /'/g, "" ).replace( /[|]/g, "" );
		t5=String(rs.fields(1).value+" *1-0+0");
		//t5=String(rs.fields(1).Text);
		//t5=rs.fields(1).value+" *1-0+0";
		//alert(t5);
		//!t5=t5.replace(/\s/g,'');//.trim();
		//t5=t5.replace(/\s/g,'').replace(/\s/g, "").replace(/ /gi,"").replace(/ /g, "").replace(/ /g,'').replace(/\s*/g,'').replace(/\s+/g,'');//.trim();
		t5=t5.replace(/ /g, "");//.trim();

connection.Execute("insert into ["+name_dbftable+"] (CODE_FIRME, ABCOUNT,DATE_D,CODE_PLAT,FIO,CODE_C,CODE_S,NAME_S,N_HOUSE,F_HOUSE,A_HOUSE, D_HOUSE,N_ROOM,A_ROOM,[CURRENCY])" +
			" values ( " + rs.fields(0).value+", "+ t5+  " , '"+ dat_string+"', "+ String(rs.fields(3).value) +",'"+ String(t4)+" ', ("+ rs.fields(5).value+"+0), ("+ rs.fields(6).value+"+0), '"+ t3+" ', ("+ String(rs.fields(8).value)+"), ("+ rs.fields(9).value+"+0), '"+ t1+" ', ("+ rs.fields(11).value+"+0), ("+ rs.fields(12).value+"+0), '"+t2+" ', " + rs.fields(57).value +
			"     );");
		
		
                
		rs.MoveNext();
            }
                
        }
        rs.Close();
        ///////////////alert(krolik);
        
    }// for ( i=0; i < AFormat.length; i++ )
               


И вот во столбце ABCOUNT ближе к концу файла началось- в семизначном семицифренном числе последняя цифра заменяется на ноль. Эффект возникает только тогда, когда скармливаешь программе файл xls, у формата xlsx такого нет.
Всячески маялась- это в программе переменная t5, там по закоментированному видно. Пробовала экспериментировать - брала не весь интервал, а часть. не 4000+ строк, а три:-) из проблемного промежутка, потом больше. Отрабатывает нормально. Предположила, что глюк связан с размером файла. Попробовала не брать весь рекордсет, а читать его кусочками по 1000, потом по 500, в программе это как раз есть. Не помогло.
Заметила также, что такое начинается, когда коды одного типа, на 9, менятся на коды, которые на 7. Причем коды на 9 обычно подают с пробелами в середине:-)
Есть ли у кого идеи? Благодарю.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Последние цифири заменяет нулями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]