Pasar datos a una matriz

Hola experto mi Consulta es la siguiente:
Hice un sencillo mailing list es ASP con base de datos en accsses para enviar correos a las personas registradas en mi pequeña página. El problema es que ahora en mi página tengo más de 100 registrados y cuando trato de enviar el correo a todos los registrados ( el cual funciona con un repeat región para que se envíen correos uno por uno) se acaba el tiempo de espera en el servidor, cosa que no pasaba cuando tenia 10 o 20 registrados.
Ok ahora para resolver ese problema hice una lista con los correos extraídos de la base de datos. Mi idea es seleccionar los correos en grupos de 10 o 20 para que no se acabe el tiempo del servidor al momento de enviarlos.
Bueno tengo la lista con los correos extraidos, los selecciono y le digo "send" que envia los datos por medio de un formulario. En otra pagina lo obtengo los datos con <%(Request.form("envMails"))%>
Pero la información se almacena de la siguiente manera:
"[email protected], [email protected], [email protected], [email protected], etc..."
Ok, ok ahora voy con la pregunta:
Cómo hago para introducir esos datos en una matriz que contenga en cada espacio cada correo ejemplo:
matriz(0) = [email protected]
matriz(1) = [email protected]
matriz(2) = [email protected]
matriz(3) = [email protected]
matriz(4) = [email protected]
Para luego hacer un repeat región e ir enviando uno por uno todos los correos del el grupo seleccionado de la página anterior.
Nota: no los envío por grupo porque no me interesa que los usuarios vean sus correos entre sí.
Gracias sé que es sencillo pero tenia que explicar todo eso.
Espero la respuesta
Atentamente Luis Molina
Respuesta
1
Luis me llamo Ivan y veo que no te contestan por aquí así que me eh decidido a echarle un ojo a tu problema...
Bueno yo creo que has enfocado mal el problema, supongo que esos datos los sacas en un recordset y ese recordset lo formas con una sentencia sql... creo que le estas sacando poco partido a ese arma ... Veamos si tu en el momento de darle a enviar simplemente pasas una variable a la página desde donde se envían los mails a la que los enviará llamada UltimoId="0" y en esta pantalla al cargar el recordset en lugar de usar "Select * from tabla" usas un "Select top 10 from tabla where id>" & request. form("ultimoId")"
Esto te sacará los diez primeros registros desde el ultimo que hiciste, la primera vez sera los mayores de id 0 pero la segunda y le pasas la variable UltimoId con el valor del ultimo id del recorset cuando lo recorres para enviar los mails... y así te ira enviando todos... PD:acuérdate de validar que el recorset no sea eof ;) y si es así los llevas a otra página o que muestre otra cosa, incluso se me ocurre que puedes pasar un porcentaje entre páginas y mostrarlo en la pantalla :D
Un saludo espero haber sido claro si no aquí estoy ;) Ivan

1 respuesta más de otro experto

Respuesta
1
La respuesta a tu pregunta es la siguiente, ocupa el comando split así:
matriz = split(Request.form("envMails"),", ")
Tambien te recomiendo que para que no te marque tiempo de espera ocupa la instuccion:
server.ScriptTimeout=1800
Donde 1800 es tiempo dado en segundos, o sea, que en este caso le estarías dando un tiempo de ejecución a tu script de 30 min.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas