<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[ASP] Importazione di file CSV in DB Access]]></title><description><![CDATA[<p dir="auto">Ciao a tutti.</p>
<p dir="auto">Mi sono appena registrato a questo forum e spero ricevere molte risposte ai miei numerosi dubbi su ASP.</p>
<p dir="auto">Questo è il problema di oggi <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":)" alt="🙂" /> :</p>
<p dir="auto">Riesco tramite ASP a leggere queste stringhe da un file CSV ed a inserirle in una tabella access:</p>
<pre><code>29/06/2008 00:15:48
29/06/2008 00:34:54
29/06/2008 07:28:03
29/06/2008 07:38:03
29/06/2008 08:52:33
29/06/2008 12:43:14
29/06/2008 13:18:58
29/06/2008 14:26:04
29/06/2008 15:28:05
29/06/2008 15:39:13
29/06/2008 15:42:54
29/06/2008 16:09:16
29/06/2008 17:18:46
29/06/2008 19:27:23
29/06/2008 21:27:23
</code></pre>
<p dir="auto">E' possibile saltare l'importazione di alcune di queste righe?</p>
<p dir="auto">Per esempio la seconda riga ha una data/orario che si differenzia dalla prima di soli 20 minuti circa e quindi andrebbe esclusa... la quarta riga ha una data/orario che si differenzia dalla quarta di soli 10 minuti e quindi andrebbe esclusa... etc, etc...</p>
<p dir="auto">Il criterio dovrebbe essere che tra le righe susseguenti per essere importate in access la differenza deve sempre essere superiore a 30 minuti.</p>
<p dir="auto">E' possibile?<br />
Saluti</p>
]]></description><link>https://connect.gt/topic/76489/asp-importazione-di-file-csv-in-db-access</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 17:41:39 GMT</lastBuildDate><atom:link href="https://connect.gt/topic/76489.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 03 Jul 2008 08:21:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ASP] Importazione di file CSV in DB Access on Fri, 04 Jul 2008 06:31:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://connect.gt/uid/3114">@tonyx</a> said:</p>
<blockquote>
<p dir="auto">e non te la esclude comunque?<br />
Quando i due record sono uguali i 30 min di differenza non ci sono quindi dovrebbe comunque escluderlo.</p>
</blockquote>
<p dir="auto">Grazie, ho risolto prevedendo un'ulteriore condizione if... end if</p>
<p dir="auto"><img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/customizations/54a3bffb-5e4a-4eb8-81dc-99b2072e5d05-175.gif?v=gca7n9pp8gc" class="not-responsive emoji emoji-customizations emoji--ciauz" title=":ciauz:" alt=":ciauz:" /></p>
]]></description><link>https://connect.gt/post/735550</link><guid isPermaLink="true">https://connect.gt/post/735550</guid><dc:creator><![CDATA[vitacillina]]></dc:creator><pubDate>Fri, 04 Jul 2008 06:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to [ASP] Importazione di file CSV in DB Access on Thu, 03 Jul 2008 14:10:22 GMT]]></title><description><![CDATA[<p dir="auto">e non te la esclude comunque?<br />
Quando i due record sono uguali i 30 min di differenza non ci sono quindi dovrebbe comunque escluderlo.</p>
]]></description><link>https://connect.gt/post/735543</link><guid isPermaLink="true">https://connect.gt/post/735543</guid><dc:creator><![CDATA[tonyx]]></dc:creator><pubDate>Thu, 03 Jul 2008 14:10:22 GMT</pubDate></item><item><title><![CDATA[Reply to [ASP] Importazione di file CSV in DB Access on Thu, 03 Jul 2008 09:45:09 GMT]]></title><description><![CDATA[<p dir="auto">Dunque ho risolto in parte, il codice aggiornato è questo:</p>
<pre><code> 
PercorsoCSV = "D:\Inetpub\wwwroot\Folder\test.csv "
 
  '//INIZIALIZZO L'OGGETTO FSO
  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
 
  '//APRO IL FILE CSV
  Set objFile = objFSO.OpenTextFile(PercorsoCSV)  
 
  '//SALTO LA PRIMA RIGA DELLE INTESTAZIONI
  objFile.SkipLine() 
 
  '//DATA DI PARTENZA
  precedentedataora = "01/01/1900 00:00:00" 
 
  '//INIZIO CICLO
  Do While Not objFile.AtEndOfStream
 
  '//LEGGO RIGA PER RIGA
      strText = objFile.readLine 
 
  '//SPLITTO IL TESTO PER VIRGOLA PER IL NUMERO VALORI DA LEGGERE PER RIGA
      arrText = split(strText, ",", 17)
 
'//COSTRUZIONE STRINGA PER CONFRONTO
    DataCostruita =  convertDate(replace(arrText(2), """", ""))
    OraCostruita = replace(arrText(3), """", "")
 
    strDataOraCostruita = DataCostruita &amp; " " &amp; OraCostruita
 
'//CONTROLLO ORARIO
if datediff("n", precedentedataora, strDataOraCostruita) &gt;= 30 then
 
'//INSERISCO NEL DB ACCESS
      strSql = "INSERT INTO ... "
      cn.execute(strSql) 
 
      precedentedataora = strDataOraCostruita 
 
'//FINE CONTROLLO ORARIO
end if
 
'//FINE CICLO
Loop
 
'//CHIUDO E DISTRUGGO OGGETTO
  objFile.Close()
  Set objFile = Nothing
 
'//DISTRUGGO OGGETTO
  Set objFSO = Nothing

</code></pre>
<p dir="auto">Ed in effetti quando l'orario tra una riga e l' altra è inferiore a 30 minuti non la registra: è già un buon passo.</p>
<p dir="auto">Mi sono reso conto, però, che ho un altra difficoltà da superare:</p>
<ul>
<li>La riga del file CSV va esclusa non solo quando l'ora del precedente record e quella del record successivo presentano una differenza in minuti è maggiore di 30, ma anche quando i dati del precedente record e quelli del record successivo sono uguali...</li>
</ul>
<p dir="auto">Che problema... <img src="https://connect.gt/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=gca7n9pp8gc" class="not-responsive emoji emoji-android emoji--disappointed" title=":(" alt="😞" /></p>
]]></description><link>https://connect.gt/post/735551</link><guid isPermaLink="true">https://connect.gt/post/735551</guid><dc:creator><![CDATA[vitacillina]]></dc:creator><pubDate>Thu, 03 Jul 2008 09:45:09 GMT</pubDate></item><item><title><![CDATA[Reply to [ASP] Importazione di file CSV in DB Access on Thu, 03 Jul 2008 08:52:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://connect.gt/uid/3114">@tonyx</a> said:</p>
<blockquote>
<p dir="auto">Certo che è possibile, penso che tu abbia implementato un ciclo che legge riga per riga finquando non finisce il file ed inserisce i dati nel db, puoi sempre fare un controllo tra l'ora del precedente record e quella del record successivo se la differenza in minuti è maggiore di 30 allora inserisci nel db.</p>
</blockquote>
<p dir="auto">uno pseudo codice:</p>
<pre><code>&gt;
precedentedataora = "01/01/1900 00:00:00"
while (il file non è stato letto tutto)
  dataoraattuale = leggilineadelfile  
  if datediff("n",precedentedataora ,dataoraattuale) &gt;= 30 then
    inserisci il tutto nel db
    precedentedataora = dataoraattuale 
  end if
wend

&gt;```
 
se hai dei dubbi sul codice posta pure
 
Grazie per aver risposto ed avermi dati almeno la speranza che si può fare.
 
Non ho ben capito il tuo suggerimento, forse se ti posto il codice originale, puoi spiegarmi meglio, ti dispiace ? :D :
 
</code></pre>
<p dir="auto">PercorsoCSV = "D:\Inetpub\wwwroot\Folder\test.csv "</p>
<p dir="auto">'//INIZIALIZZO L'OGGETTO FSO<br />
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")</p>
<p dir="auto">'//APRO IL FILE CSV<br />
Set objFile = objFSO.OpenTextFile(PercorsoCSV)</p>
<p dir="auto">'//SALTO LA PRIMA RIGA DELLE INTESTAZIONI<br />
objFile.SkipLine()</p>
<p dir="auto">'//INIZIO CICLO<br />
Do While Not objFile.AtEndOfStream</p>
<p dir="auto">'//LEGGO RIGA PER RIGA<br />
strText = objFile.readLine</p>
<p dir="auto">'//SPLITTO IL TESTO PER VIRGOLA PER IL NUMERO VALORI DA LEGGERE PER RIGA<br />
arrText = split(strText, ",", 17)</p>
<p dir="auto">'//INSERISCO NEL DB ACCESS<br />
strSql = "INSERT INTO ... "<br />
cn.execute(strSql)</p>
<p dir="auto">'//FINE CICLO<br />
Loop</p>
<p dir="auto">'//CHIUDO E DISTRUGGO OGGETTO<br />
objFile.Close()<br />
Set objFile = Nothing</p>
<p dir="auto">'//DISTRUGGO OGGETTO<br />
Set objFSO = Nothing</p>
<pre><code></code></pre>
]]></description><link>https://connect.gt/post/735547</link><guid isPermaLink="true">https://connect.gt/post/735547</guid><dc:creator><![CDATA[vitacillina]]></dc:creator><pubDate>Thu, 03 Jul 2008 08:52:34 GMT</pubDate></item><item><title><![CDATA[Reply to [ASP] Importazione di file CSV in DB Access on Thu, 03 Jul 2008 08:39:42 GMT]]></title><description><![CDATA[<p dir="auto">Certo che è possibile, penso che tu abbia implementato un ciclo che legge riga per riga finquando non finisce il file ed inserisce i dati nel db, puoi sempre fare un controllo tra l'ora del precedente record e quella del record successivo se la differenza in minuti è maggiore di 30 allora inserisci nel db.</p>
<p dir="auto">uno pseudo codice:</p>
<pre><code>
precedentedataora = "01/01/1900 00:00:00"
while (il file non è stato letto tutto)
  dataoraattuale = leggilineadelfile  
  if datediff("n",precedentedataora ,dataoraattuale) &gt;= 30 then
    inserisci il tutto nel db
    precedentedataora = dataoraattuale 
  end if
wend

</code></pre>
<p dir="auto">se hai dei dubbi sul codice posta pure</p>
]]></description><link>https://connect.gt/post/735542</link><guid isPermaLink="true">https://connect.gt/post/735542</guid><dc:creator><![CDATA[tonyx]]></dc:creator><pubDate>Thu, 03 Jul 2008 08:39:42 GMT</pubDate></item></channel></rss>